This is main part of Anily infrastructure.
- Clone scripts
$ git clone https://github.com/Anily-tw/scripts.git servers
$ cd ~/servers- Edit enviroment variables for preffered
$ nano ~/servers/set_enviroment.sh- Create python-venv for python scripts
$ sudo apt-get install python3-full
$ python3 -m venv script-venv- Install needed packages
$ source ~/script-venv/bin/activate
$ pip install requests mysql-connector-python nextcord watchdognextcordandwatchdogare needed if you are planning on using FifoToDiscordBridge
- Make Bash/Zsh use Anily enviroment by default
$ echo "source ~/servers/set_enviroment.sh" >> ~/.bashrc
$ echo "echo \"Loaded Anily enviroment\"" >> ~/.bashrc
$ echo "source ~/servers/script-venv/bin/activate" >> ~/.bashrc
$ echo "echo \"Loaded Python venv enviroment\"" >> ~/.bashrcIf you already have SQL dump, just import it and specify credentials in set_enviroment.sh and ddrace/mysql.cfg
If you don't have SQL dump, create new scheme, specify it in set_enviroment.sh and ddrace/mysql.cfg, and set last argument of add_sqlserver to 1
Like this:
add_sqlserver r teeworlds record teeworlds "superPass" "localhost" "3306" 1
add_sqlserver w teeworlds record teeworlds "superPass" "localhost" "3306" 1
^ scheme name ^ 1 to setup database
- Don't forget to set it back to
0after first start
crontab file contains my crontab routine for restarting servers and uploading maps to repository.
To make map updating work, you need to change remote in ddrace/maps and configure git to store your credentials.
I use web interface for uploading and updating maps. It's working on apache2, so www-data user does not have permissions to needed directories.
I create group ddrace:
$ sudo addgroup ddraceAdd there $USER and www-data:
$ sudo usermod -aG ddrace $USER
$ sudo usermod -aG ddrace www-dataSet servers's owner to $USER:ddrace:
$ sudo chown -R --changes "$USER:ddrace" -- serversGive group permissions:
$ sudo chmod -R --changes "a-x,ug=rwX,o=rX" -- serversTo run the servers themselves you need server executable placed at ddrace root, or clone ddnet next to ddrace directory and specify path in set_enviroment.sh, then use ddrace/update.sh.