3.3 KiB
This plugin was written to output information on Source-server (primarily Insurgency) that can be interpreted by the Skillbird-framework and in turn be queried as useful information to display back the players or use for team-balancing.
Setup
Install Insurgency Server
Install SteamCMD:
# first add non-free to sources list for Debian or multiverse for Ubuntu #
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc1 steamcmd
Start CMD and install the Insurgency Server:
steamcmd
Steam> login anonymous
Steam> force_install_dir /path/to/installation
Steam> app_update 237410
Compile Plugin
Download and unpack Sourcemod, after unpacking, there should be two directories, addons and cfg. Execute build.sh with the addons dir as argument.
./build.sh /path/to/addons/dir/
Add Sourcemod/Plugins to Insurgency Server
Download Metamod and unpack it, copy all contents of the unpacked source and metamod to the insurgency-directory in the base path of your installation (addons for both metamod and sourcemod and cfg for sourcemod only).
cp -r /path/to/downloaded/unpacked/tar/metamod/addons/ /path/to/installation/insurgency/
cp -r /path/to/downloaded/unpacked/tar/sourcemod/addons/ /path/to/installation/insurgency/
cp -r /path/to/downloaded/unpacked/tar/sourcemod/cfg/ /path/to/installation/insurgency/
Run Insurgency Server
The Insurgency Server has some path-related problems, therefore you need to explicitly add the paths to the installation. Also if you are using LD_PRELOAD, you should unset it, VAC doesn't like that.
unset LD_PRELOAD
export LD_LIBRARY_PATH=/path/to/installation/:/path/to/installation/bin/
/path/to/installation/srcds_linux
Install/Activate the skillbird-plugin
Finally copy the compiled plugin to sourcemod plugin addon directory within the Insurgency installation and reload.
cp gitdirectory/extensions/* /path/to/installation/insurgency/addons/sourcemod/extensions/
cp gitdirectory/*.smx /path/to/installation/insurgency/addons/sourcemod/scripting/compiled/
In the Server console (or via rcon). It is normal for the console to be laggy.
sm plugins refresh
sm plugins unload_all
sm plugins load TrueSkillLoggingMain
sm plugins load TrueSkillQueryMain
Data Output for skillbird
The output must be written to a file from which the skillbird-framework can read it. As a simple solution you can just write it to a file using a pipe:
./start_server.sh > output.log
Or if you still want to see the output as it is printed:
./start_server.sh | tee output.log
What I am personally doing is starting Insurgency with systemd and then:
journalctl -fu insurgency.service > output.log
Why include sm-socket as binaries?
Because building Sourcemod extensions is annoying to do for the average user. I know it's not a perfect solution, but it's the best I could come up with. In compliance with the terms of the GPL (the license of Sourcemod), you may find the source code of those binaries here.