An automation of the Left 4 Dead 2 Dedicated Server to a Linux server using Jenkins # Node Preparation ## Using Ansible Create an `inventory.ini` file for the node ```ini [l4d2servers] 10.0.0.40 ``` Create an SSH key, then copy the public key to the authorized keys of the server ```bash ssh-keygen -t rsa -a 4096 -C "l4d2server" -f $HOME/.ssh/id_rsa_l4d2 cat $HOME/.ssh/id_rsa_l4d2.pub ``` Run playbook ```bash ansible-playbook -i inventory.ini playbook.yml --key-file=~/.ssh/id_rsa_l4d2 -vv ``` ## Manual On the remote host you need to install: - Wine stable [(From WineHQ)](https://gitlab.winehq.org/wine/wine/-/wikis/Debian-Ubuntu) - Zip and Unzip - libarchive-tools - Xvfb - PM2 ```bash sudo apt update && sudo apt upgrade sudo apt install wget unzip libarchive-tools xvfb curl ``` ### Environments You need to create environment variables, name it `.game.env` ```sh export DIR_WINE="/wine" export DIR_STEAMCMD="/wine/drive_c/SteamCMD" export DIR_SERVER="/wine/drive_c/l4d2server" export WINEPREFIX=$DIR_WINE ``` # Jenkins Configuration