36 lines
1.1 KiB
Bash
36 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# Get list of configured servers
|
|
# One server per line, includes router
|
|
|
|
CONFIG_DIR="/home/admin/homelab/fighter/config/minecraft"
|
|
|
|
SERVERS="$(docker-compose -f $CONFIG_DIR/docker-compose.yml config --services)"
|
|
|
|
# exporter-minecraft: Create comma-separated list for EXPORT_SERVERS
|
|
EXPORT_SERVERS=""
|
|
for server in $SERVERS
|
|
do
|
|
if [ $server != "router" ]
|
|
then EXPORT_SERVERS="${EXPORT_SERVERS}${EXPORT_SERVERS:+,}$server"
|
|
fi
|
|
done
|
|
echo "EXPORT_SERVERS=\"$EXPORT_SERVERS\"" > $CONFIG_DIR/exporter.env
|
|
|
|
# router: Create valid and correct mapping command for mc-router
|
|
# example: command: --mapping=vanilla.jafner.net=vanilla:25565,e9.jafner.net=e9:25565,fan.jafner.net=fan:25565,vanilla2.jafner.net=vanilla2:25565,bmcp.jafner.net=bmcp:25565 --api-binding=0.0.0.0:25566
|
|
MAPPINGS=""
|
|
|
|
for server in $SERVERS
|
|
do
|
|
if [ $server != "router" ]
|
|
then MAPPINGS="${MAPPINGS}${MAPPINGS:+,}$server.jafner.net=$server:25565"
|
|
fi
|
|
done
|
|
|
|
sed -i "s/--mapping=[^ ]\+/--mapping=$MAPPINGS/m" $CONFIG_DIR/docker-compose.yml
|
|
|
|
|
|
|
|
DIR=$(pwd)
|
|
cd $CONFIG_DIR && docker-compose up -d --force-recreate router exporter-minecraft
|
|
cd $DIR |