2021-12-07 13:50:05 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2021-12-07 15:29:26 +00:00
|
|
|
function symlink_client_files() {
|
2021-12-08 07:50:15 +00:00
|
|
|
echo "Creating symlinks for client files"
|
2021-12-07 15:29:26 +00:00
|
|
|
ln -s /client/client/res/macros/ /app/res/macros
|
|
|
|
ln -s /client/client/res/BrickModels/ /app/res/BrickModels
|
|
|
|
ln -s /client/client/res/chatplus_en_us.txt /app/res/chatplus_en_us.txt
|
|
|
|
ln -s /client/client/res/names/ /app/res/names
|
2021-12-08 07:50:15 +00:00
|
|
|
ln -s /client/client/res/CDServer.sqlite /app/res/CDServer.sqlite
|
2021-12-07 15:29:26 +00:00
|
|
|
ln -s /client/client/locale/locale.xml /app/locale/locale.xml
|
2022-11-07 23:04:20 +00:00
|
|
|
# need to create this file so the server knows the client is unpacked (see `dCommon/dClient/AssetManager.cpp`)
|
|
|
|
touch /app/res/cdclient.fdb
|
2021-12-08 06:44:37 +00:00
|
|
|
# need to iterate over entries in maps due to maps already being a directory with navmeshes/ in it
|
|
|
|
(
|
|
|
|
cd /client/client/res/maps
|
|
|
|
readarray -d '' entries < <(printf '%s\0' * | sort -zV)
|
|
|
|
for entry in "${entries[@]}"; do
|
|
|
|
ln -s /client/client/res/maps/$entry /app/res/maps/
|
|
|
|
done
|
|
|
|
)
|
2021-12-07 15:29:26 +00:00
|
|
|
}
|
|
|
|
|
2021-12-08 07:50:15 +00:00
|
|
|
function symlink_config_files() {
|
|
|
|
echo "Creating symlinks for config files"
|
|
|
|
rm /app/*.ini
|
2021-12-08 13:39:19 +00:00
|
|
|
ln -s /shared_configs/configs/authconfig.ini /app/authconfig.ini
|
|
|
|
ln -s /shared_configs/configs/chatconfig.ini /app/chatconfig.ini
|
|
|
|
ln -s /shared_configs/configs/masterconfig.ini /app/masterconfig.ini
|
|
|
|
ln -s /shared_configs/configs/worldconfig.ini /app/worldconfig.ini
|
2022-11-07 23:04:20 +00:00
|
|
|
ln -s /shared_configs/configs/sharedconfig.ini /app/sharedconfig.ini
|
2021-12-07 15:29:26 +00:00
|
|
|
}
|
|
|
|
|
2021-12-31 13:12:09 +00:00
|
|
|
# check to make sure the setup has completed
|
|
|
|
while [ ! -f "/client/extracted" ] || [ ! -f "/client/migrated" ]; do
|
|
|
|
echo "Client setup not finished. Waiting for setup container to complete..."
|
|
|
|
sleep 5
|
|
|
|
done
|
|
|
|
|
2021-12-08 08:54:44 +00:00
|
|
|
if [[ ! -f "/app/initialized" ]]; then
|
|
|
|
# setup symlinks for volume files
|
|
|
|
symlink_client_files
|
|
|
|
symlink_config_files
|
|
|
|
# do not run symlinks more than once
|
|
|
|
touch /app/initialized
|
|
|
|
else
|
|
|
|
echo "Server already initialized"
|
|
|
|
fi
|
2021-12-07 15:29:26 +00:00
|
|
|
|
2021-12-08 07:50:15 +00:00
|
|
|
# start the server
|
2021-12-09 07:20:10 +00:00
|
|
|
echo "Starting MasterServer"
|
2021-12-07 15:29:26 +00:00
|
|
|
./MasterServer
|
|
|
|
tail -f /dev/null
|