diff --git a/Dockerfile b/Dockerfile index 1cdc8f1..c5bf50f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu -ENV TERRARIA_VERISON=1311 +ENV TERRARIA_VERISON=1344 RUN apt-get update \ && apt-get install -y bash curl unzip \ diff --git a/config.ini b/config.ini index 37647db..02c7777 100644 --- a/config.ini +++ b/config.ini @@ -1,68 +1,82 @@ -#this is an example config file for TerrariaServer.exe -#use the command 'TerrariaServer.exe -config serverconfig.txt' to use this configuration or run start-server.bat -#please report crashes by emailing crashlog.txt to support@terraria.org - -#the following is a list of available command line parameters: - -#-config Specifies the configuration file to use. -#-port Specifies the port to listen on. -#-players / -maxplayers Sets the max number of players -#-pass / -password Sets the server password -#-world Load a world and automatically start the server. -#-autocreate <#> Creates a world if none is found in the path specified by -world. World size is specified by: 1(small), 2(medium), and 3(large). -#-banlist Specifies the location of the banlist. Defaults to "banlist.txt" in the working directory. -#-worldname Sets the name of the world when using -autocreate. -#-secure Adds addition cheat protection to the server. -#-noupnp Disables automatic port forwarding -#-steam Enables Steam Support -#-lobby or Allows friends to join the server or sets it to private if Steam is enabled -#-ip Sets the IP address for the server to listen on -#-forcepriority Sets the process priority for this task. If this is used the "priority" setting below will be ignored. - -#remove the # in front of commands to enable them. - -#Load a world and automatically start the server. -world=/data/world.wld - -#Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large). -autocreate=3 - -#Sets the name of the world when using autocreate -worldname=Terraria - -#Sets the difficulty of the world when using autocreate 0(normal), 1(expert) -difficulty=1 - -#Sets the max number of players allowed on a server. Value must be between 1 and 255 -maxplayers=16 - -#Set the port number -port=7777 - -#Set the server password -#password=YOURSECRETPASSWORD - -#Set the message of the day -#motd=Please don?t cut the purple trees! - -#Sets the folder where world files will be stored -worldpath=/data/world - -#The location of the banlist. Defaults to "banlist.txt" in the working directory. -#banlist=banlist.txt - -#Adds addition cheat protection. -secure=1 - -#Sets the server language 1:English, 2:German, 3:Italian, 4:French, 5:Spanish -lang=1 - -#Automatically forward ports with uPNP -#upnp=1 - -#Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off. -#npcstream=60 - -#Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNormal, 5:Idle -priority=1 - +#this is an example config file for TerrariaServer.exe +#use the command 'TerrariaServer.exe -config serverconfig.txt' to use this configuration or run start-server.bat +#please report crashes by emailing crashlog.txt to support@terraria.org + +#the following is a list of available command line parameters: + +#-config Specifies the configuration file to use. +#-port Specifies the port to listen on. +#-players / -maxplayers Sets the max number of players +#-pass / -password Sets the server password +#-world Load a world and automatically start the server. +#-autocreate <#> Creates a world if none is found in the path specified by -world. World size is specified by: 1(small), 2(medium), and 3(large). +#-banlist Specifies the location of the banlist. Defaults to "banlist.txt" in the working directory. +#-worldname Sets the name of the world when using -autocreate. +#-secure Adds addition cheat protection to the server. +#-noupnp Disables automatic port forwarding +#-steam Enables Steam Support +#-lobby or Allows friends to join the server or sets it to private if Steam is enabled +#-ip Sets the IP address for the server to listen on +#-forcepriority Sets the process priority for this task. If this is used the "priority" setting below will be ignored. +#-disableannouncementbox Disables the text announcements Announcement Box makes when pulsed from wire. +#-announcementboxrange Sets the announcement box text messaging range in pixels, -1 for serverwide announcements. +#-seed Specifies the world seed when using -autocreate + +#remove the # in front of commands to enable them. + +#Load a world and automatically start the server. +#world=C:\Users\YOUR_USERNAME_HERE\My Documents\My Games\Terraria\Worlds\world1.wld +world=/data/world.wld + +#Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large). +#autocreate=1 +autocreate=3 + +#Sets the world seed when using autocreate +#seed=AwesomeSeed + +#Sets the name of the world when using autocreate +#worldname=Terraria +worldname=Terraria + +#Sets the difficulty of the world when using autocreate 0(normal), 1(expert) +#difficulty=1 +difficulty=0 + +#Sets the max number of players allowed on a server. Value must be between 1 and 255 +#maxplayers=8 +maxplayers=16 + +#Set the port number +#port=7777 +port=7777 + +#Set the server password +#password=p@55w0rd + +#Set the message of the day +#motd=Please don?t cut the purple trees! + +#Sets the folder where world files will be stored +#worldpath=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\ +worldpath=/data/world + +#The location of the banlist. Defaults to "banlist.txt" in the working directory. +#banlist=banlist.txt + +#Adds addition cheat protection. +#secure=1 +secure=1 + +#Sets the server language from its language code. +#English = en-US, German = de-DE, Italian = it-IT, French = fr-FR, Spanish = es-ES, Russian = ru-RU, Chinese = zh-Hans, Portuguese = pt-BR, Polish = pl-PL, +#language=en-US + +#Automatically forward ports with uPNP +#upnp=1 + +#Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off. +#npcstream=60 + +#Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNormal, 5:Idle +priority=1 diff --git a/start.sh b/start.sh index d88a2f0..f45a7e8 100755 --- a/start.sh +++ b/start.sh @@ -1,11 +1,13 @@ #!/bin/bash +set -euxo pipefail if ! [ -e /data/config.ini ]; then cp ${SERVER}/config.ini.default /data/config.ini fi -# FIX: The ZIP archive does not have correct permissions -chmod +x /home/gameserver/terraria/Dedicated\ Server/Linux/TerrariaServer* +SERVER_BINARY=$(find /home/gameserver -name 'TerrariaServer.bin.x86_64') -exec tail -f /dev/null | ${SERVER}/Dedicated\ Server/Linux/TerrariaServer.bin.x86_64 \ - -config /data/config.ini +# FIX: The ZIP archive does not have correct permissions +chmod +x "${SERVER_BINARY}" + +exec tail -f /dev/null | "${SERVER_BINARY}" -config /data/config.ini "$@"