2019-02-09 18:01:05 +01:00
2019-02-09 18:01:05 +01:00
2019-11-02 13:10:53 +01:00
2019-11-02 13:11:10 +01:00
2019-11-02 14:13:19 +01:00

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.

Description
Sourcemod-plugin for the skillbird framework.
Readme GPL-3.0 3 MiB
Languages
SourcePawn 95.3%
Shell 4.7%