#!/bin/sh set -e : "${DB_HOST:=db}" : "${DB_PORT:=3306}" : "${DB_USER:=rose}" : "${DB_PASSWORD:=change_me}" : "${DB_NAME:=ktrose}" : "${PUBLIC_HOST:=127.0.0.1}" : "${CHAR_HOST:=charserver}" : "${LOGIN_PORT:=29000}" : "${LOGIN_SERVER_NAME:=ROSE Login}" : "${LOGIN_CREATE_ACCOUNT:=1}" : "${CHAR_PORT:=29100}" : "${CHAR_S2S_PORT:=29110}" : "${CHAR_SERVER_NAME:=Server 1}" : "${CHAR_DELETE_TIME:=3600}" : "${WORLD_PORT:=29200}" : "${WORLD_S2S_PORT:=29210}" : "${WORLD_CHANNEL_NAME:=Channel 1}" : "${WORLD_MAX_CONNECTIONS:=500}" : "${WORLD_WELCOME_MSG:=Welcome to ROSE}" : "${WORLD_SAVE_TIME:=3600}" : "${SHARED_LOGIN_PASS:=789456}" : "${SHARED_CHAR_PASS:=456123}" : "${SHARED_WORLD_PASS:=321654}" export DB_HOST DB_PORT DB_USER DB_PASSWORD DB_NAME PUBLIC_HOST CHAR_HOST \ LOGIN_PORT LOGIN_SERVER_NAME LOGIN_CREATE_ACCOUNT \ CHAR_PORT CHAR_S2S_PORT CHAR_SERVER_NAME CHAR_DELETE_TIME \ WORLD_PORT WORLD_S2S_PORT WORLD_CHANNEL_NAME WORLD_MAX_CONNECTIONS \ WORLD_WELCOME_MSG WORLD_SAVE_TIME \ SHARED_LOGIN_PASS SHARED_CHAR_PASS SHARED_WORLD_PASS mkdir -p /data/conf /data/clanmark /var/log/roseserver for tmpl in /app/conf-templates/*.conf.tmpl; do name=$(basename "$tmpl" .tmpl) envsubst < "$tmpl" > "/data/conf/$name" done # Seed the clan-mark counter file once; charserver opens it "r+b" and fails # if it doesn't already exist. if [ ! -f /data/clanmark/clanmark.cnt ]; then cp -r /app/seed/clanmark/. /data/clanmark/ fi cd /data case "$1" in login) exec /app/bin/loginserver /data/conf/loginserver.conf ;; char) exec /app/bin/charserver /data/conf/charserver.conf ;; world) exec /app/bin/worldserver /data/conf/worldserver.conf ;; *) echo "Usage: entrypoint.sh {login|char|world}" >&2 exit 1 ;; esac