94 lines
2.0 KiB
Bash
Executable File
94 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
SERVER_DIR=/home/server/instance
|
|
cd $SERVER_DIR
|
|
|
|
# prepare performance opts for java
|
|
|
|
JAVA_OPTS=""
|
|
|
|
echo "eula=${EULA:-false}" > eula.txt
|
|
|
|
if [[ -n $SERVER_MEMORY ]]
|
|
then
|
|
JAVA_OPTS="-Xms${SERVER_MEMORY} -Xmx${SERVER_MEMORY} $JAVA_OPTS"
|
|
fi
|
|
|
|
SERVER_PROPERTIES=$SERVER_DIR/server.properties
|
|
SERVER_WHITELIST=$SERVER_DIR/white-list.txt
|
|
SERVER_OPLIST=$SERVER_DIR/ops.txt
|
|
WHITELIST_PREP=$SERVER_DIR/whitelist.prep
|
|
OPLIST_PREP=$SERVER_DIR/op.prep
|
|
|
|
if [ -f $SERVER_PROPERTIES ]; then
|
|
mv $SERVER_PROPERTIES $SERVER_PROPERTIES.bkp
|
|
rm $SERVER_PROPERTIES
|
|
touch $SERVER_PROPERTIES
|
|
fi
|
|
|
|
if [ -f $WHITELIST_PREP ]; then
|
|
echo -n "" > $SERVER_WHITELIST
|
|
cat $WHITELIST_PREP | while read u
|
|
do
|
|
echo "Adding $u to whitelist"
|
|
|
|
# get uuid of user
|
|
uuid=$(curl -s https://api.mojang.com/users/profiles/minecraft/$u | jq -r '.id')
|
|
uuid=$(echo "${uuid:0:8}-${uuid:8:4}-${uuid:12:4}-${uuid:16:4}-${uuid:20:12}")
|
|
|
|
|
|
if [[ $uuid == "null" ]]; then
|
|
echo "User $u not found. Skipping."
|
|
continue
|
|
fi
|
|
|
|
# write to whitelist.json
|
|
echo "$uuid" >> $SERVER_WHITELIST;
|
|
|
|
done
|
|
fi
|
|
|
|
if [ -f $OPLIST_PREP ]; then
|
|
echo -n "" > $SERVER_OPLIST
|
|
cat $OPLIST_PREP | while read u
|
|
do
|
|
echo "Adding $u to whitelist"
|
|
|
|
# get uuid of user
|
|
uuid=$(curl -s https://api.mojang.com/users/profiles/minecraft/$u | jq -r '.id')
|
|
uuid=$(echo "${uuid:0:8}-${uuid:8:4}-${uuid:12:4}-${uuid:16:4}-${uuid:20:12}")
|
|
|
|
|
|
if [[ $uuid == "null" ]]; then
|
|
echo "User $u not found. Skipping."
|
|
continue
|
|
fi
|
|
|
|
# write to whitelist.json
|
|
echo "$uuid" >> $SERVER_OPLIST;
|
|
|
|
done
|
|
fi
|
|
|
|
if [[ -n $WHITELIST ]]; then
|
|
echo "white-list=$WHITELIST" >> $SERVER_PROPERTIES
|
|
fi
|
|
|
|
if [[ -n $SEED ]]; then
|
|
echo "seed=$SEED" >> $SERVER_PROPERTIES
|
|
fi
|
|
|
|
if [[ -n $MAX_PLAYERS ]]; then
|
|
echo "max-players=$MAX_PLAYERS" >> $SERVER_PROPERTIES
|
|
fi
|
|
|
|
if [[ -n $DIFFICULTY ]]; then
|
|
echo "difficulty=$DIFFICULTY" >> $SERVER_PROPERTIES
|
|
fi
|
|
|
|
if [[ -n $MOTD ]]; then
|
|
echo "motd=$MOTD" >> $SERVER_PROPERTIES
|
|
fi
|
|
|
|
# Start server
|
|
exec java $JAVA_OPTS -jar "server.jar" nogui |