diff --git a/README.md b/README.md index 3f06105..b886b47 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,19 @@ # DayZDockerServer -A Linux DayZ server in a Docker container. +A Linux DayZ server in a Docker container. Uses a modified version of https://github.com/thelastnoc/dayz-sa_linuxserver -Edit docker-compose.yml and set the server name: +### Setup + +Edit `files/serverDZ.cfg` and set the server name: ``` -- SERVERNAME=DayZ on Linux +hostname = "Something other than Server Name"; // Server name ``` +Optionally edit `files/beserver_x64.cfg` and set the rcon password: +``` +RConPassword h4CKm3 +``` +### Running Build the container, run it, tail the logs: ``` docker-compose build diff --git a/docker-compose.yml b/docker-compose.yml index f5d15b7..c213f05 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,9 +12,4 @@ services: - "27016:27016/udp" volumes: - homedir:/home/user - - ./files:/files - environment: -# Don't use double quotes. Escape any forward slashes: SERVERNAME=My thing \/ My other thing - - SERVERNAME=DayZ on Linux for Linux -# Set your own RCON password. Otherwise, a random one will be generated and shown in the log on the first run. -# - RCON_PASSWORD=H4CKM3 \ No newline at end of file + - ./files:/files \ No newline at end of file diff --git a/files/dayzserver b/files/dayzserver index 93c879b..b70d8cb 100755 --- a/files/dayzserver +++ b/files/dayzserver @@ -45,16 +45,16 @@ fn_loadconfig_dayz(){ fi # Set a random RCON password, unless one's set in the environment - if [ ! -f "${HOME}/serverfiles/battleye/beserver_x64.cfg" ] + if [ -d "${HOME}/serverfiles" ] && [ ! -f "${HOME}/serverfiles/battleye/beserver_x64.cfg" ] then echo -n "Creating Battle Eye RCON file " cp /files/beserver_x64.cfg "${HOME}/serverfiles/battleye/beserver_x64.cfg" - if [[ ${RCON_PASSWORD} != "" ]] + if grep RCON_PASSWORD /files/beserver_x64.cfg then - echo "using the RCON_PASSWORD in the environment." - else RCON_PASSWORD=$(< /dev/urandom tr -dc 'A-Za-z0-9' | head -c10) echo -e "using random RCON password ${yellow}${RCON_PASSWORD}" + else + echo "using the RCON_PASSWORD already set in files/beserver_x64.cfg." fi sed -i "${HOME}/serverfiles/battleye/beserver_x64.cfg" -e "s/RCON_PASSWORD/${RCON_PASSWORD}/" fi @@ -489,7 +489,7 @@ if [ ! -f "${HOME}/steamcmd/steamcmd.sh" ] || [ ! -f "${HOME}/serverfiles/DayZSe # chmod u+x ${HOME}/dayzserver fn_install_dayz if [ -f "${HOME}/steamcmd/steamcmd.sh" ] && [ -f "${HOME}/serverfiles/DayZServer" ]; then - exec fn_start_dayz + fn_start_dayz fi echo "Something failed? Shouldn't make it here..." exit diff --git a/files/serverDZ.cfg b/files/serverDZ.cfg index 2d0f823..12b3acf 100644 --- a/files/serverDZ.cfg +++ b/files/serverDZ.cfg @@ -1,4 +1,4 @@ -hostname = "SERVER_NAME"; // Server name +hostname = "Server Name"; // Server name password = ""; // Password to connect to the server passwordAdmin = ""; // Password to become a server admin