diff --git a/Minecraft/cfg/lgsm-default.ini b/Minecraft/cfg/lgsm-default.ini new file mode 100644 index 000000000..8e350192c --- /dev/null +++ b/Minecraft/cfg/lgsm-default.ini @@ -0,0 +1,40 @@ +#Minecraft server properties (LGSM 210516) +#Sat Aug 20 17:30:15 CEST 2016 +allow-flight=false +allow-nether=true +announce-player-achievements=true +difficulty=1 +enable-command-block=false +enable-query=false +enable-rcon=false +force-gamemode=false +gamemode=0 +generate-structures=true +generator-settings= +hardcore=false +level-name=world +level-seed= +level-type=DEFAULT +max-build-height=256 +max-players=20 +max-tick-time=60000 +max-world-size=29999984 +motd=A Minecraft Server +network-compression-threshold=256 +online-mode=true +op-permission-level=4 +player-idle-timeout=0 +pvp=true +rcon.password= +rcon.port=25575 +resource-pack-sha1= +resource-pack= +server-ip= +server-port=25565 +snooper-enabled=true +spawn-animals=true +spawn-monsters=true +spawn-npcs=true +use-native-transport=true +view-distance=10 +white-list=false diff --git a/Minecraft/mcserver.sh b/Minecraft/mcserver similarity index 96% rename from Minecraft/mcserver.sh rename to Minecraft/mcserver index 2155c06cd..b004e55d3 100644 --- a/Minecraft/mcserver.sh +++ b/Minecraft/mcserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="200816" #### Variables #### @@ -34,6 +34,10 @@ maxplayers="16" ip="0.0.0.0" updateonstart="off" +fn_parms(){ +parms="nogui" +} + #### Advanced Variables #### # Github Branch Select @@ -57,11 +61,11 @@ functionsdir="${lgsmdir}/functions" filesdir="${rootdir}/serverfiles" systemdir="${filesdir}" executabledir="${filesdir}" -executable="java -Xmx512M -jar minecraft_server.jar nogui" +executable="java -Xmx512M -jar minecraft_server.jar" servercfg="server.properties" servercfgdir="${filesdir}" servercfgfullpath="${servercfgdir}/${servercfg}" -servercfgdefault="${servercfgdir}/lgsm-default.cfg" +servercfgdefault="${servercfgdir}/lgsm-default.ini" backupdir="${rootdir}/backups" # Logging diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index f5c944a64..a80540a9a 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -10,7 +10,7 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" ## Examples of filtering to get info from config files # sed 's/foo//g' - remove foo # tr -cd '[:digit:]' leave only digits -# tr -d '=\"; ' remove selected charectors =\"; +# tr -d '=\"; ' remove selected characters =\"; # grep -v "foo" filter out lines that contain foo unavailable="${red}UNAVAILABLE${default}" @@ -71,22 +71,31 @@ fn_info_config_dontstarve(){ fn_info_config_minecraft(){ if [ ! -f "${servercfgfullpath}" ]; then rconpassword="${unavailable}" + rconport="${zero}" slots="${zero}" port="${zero}" + gamemode="${zero}" + gameworld="${unavailable}" else # check if the ip exists in the config file. Failing this will fall back to the default. ipconfigcheck=$(grep "server-ip=" "${servercfgfullpath}" | sed 's/server-ip=//g') if [ -n "${ipconfigcheck}" ]; then ip="${ipconfigcheck}" fi - rconpassword=$(grep "rcon.password=" "${servercfgfullpath}" | sed 's/rcon.password=//g' | tr -d '\') + rconpassword=$(grep "rcon.password=" "${servercfgfullpath}" | sed 's/rcon.password=//g' | tr -d '=\"; ') + rconport=$(grep "rcon.port=" "${servercfgfullpath}" | tr -cd '[:digit:]') slots=$(grep "max-players=" "${servercfgfullpath}" | tr -cd '[:digit:]') port=$(grep "server-port=" "${servercfgfullpath}" | tr -cd '[:digit:]') + gamemode=$(grep "gamemode=" "${servercfgfullpath}" | tr -cd '[:digit:]') + gameworld=$(grep "level-name=" "${servercfgfullpath}" | sed 's/level-name=//g' | tr -d '=\"; ') # Not Set rconpassword=${rconpassword:-"NOT SET"} + rconport=${rconport:-"NOT SET"} slots=${slots:-"NOT SET"} port=${port:-"NOT SET"} + gamemode=${gamemode:-"NOT SET"} + gameworld=${gameworld:-"NOT SET"} fi } @@ -99,9 +108,9 @@ fn_info_config_projectzomboid(){ port="${zero}" gameworld="${unavailable}" else - servername=$(grep "PublicName=" "${servercfgfullpath}" | sed 's/PublicName=//g' | tr -d '\') - serverpassword=$(grep "^Password=$" "${servercfgfullpath}" | sed 's/Password=//g' | tr -d '\') - rconpassword=$(grep "RCONPassword=" "${servercfgfullpath}" | sed 's/RCONPassword=//g' | tr -d '\') + servername=$(grep "PublicName=" "${servercfgfullpath}" | sed 's/PublicName=//g' | tr -d '=\";\n') + serverpassword=$(grep "^Password=$" "${servercfgfullpath}" | sed 's/Password=//g' | tr -d '=\"; ') + rconpassword=$(grep "RCONPassword=" "${servercfgfullpath}" | sed 's/RCONPassword=//g' | tr -d '=\"; ') slots=$(grep "MaxPlayers=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') port=$(grep "DefaultPort=" "${servercfgfullpath}" | tr -cd '[:digit:]') gameworld=$(grep "Map=" "${servercfgfullpath}" | sed 's/Map=//g' | tr -d '\n') diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 90ebb2ff1..cf2953958 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -301,6 +301,11 @@ elif [ "${gamename}" == "Left 4 Dead 2" ]; then wget -N /dev/null ${githuburl}/Left4Dead2/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq sleep 1 fn_sourceconfig +elif [ "${gamename}" == "Minecraft" ]; then + echo -e "downloading lgsm-default.ini...\c" + wget -N /dev/null ${githuburl}/Minecraft/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq + sleep 1 + fn_defaultconfig elif [ "${gamename}" == "No More Room in Hell" ]; then echo -e "downloading lgsm-default.cfg...\c" wget -N /dev/null ${githuburl}/NoMoreRoomInHell/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq diff --git a/lgsm/functions/install_minecraft_eula.sh b/lgsm/functions/install_minecraft_eula.sh index a95fe8e1d..410e283b4 100644 --- a/lgsm/functions/install_minecraft_eula.sh +++ b/lgsm/functions/install_minecraft_eula.sh @@ -11,6 +11,8 @@ sleep 1 echo "You are required to accept the EULA:" echo "https://account.mojang.com/documents/minecraft_eula" +echo "eula=false" > "${filesdir}/eula.txt" + if [ -z "${autoinstall}" ]; then echo "By continuing you are indicating your agreement to the EULA." echo "" @@ -28,4 +30,4 @@ echo "" sleep 5 fi -sed -i "s/\"eula=false\"/\"eula=true\"/g" serverfiles/eula.txt \ No newline at end of file +sed -i "s/eula=false/eula=true/g" "${filesdir}/eula.txt" \ No newline at end of file