Hello,
Don't know how to call this properly but it's basically a handy tool to keep maintenance on your csgo surf servers as low as possible.
Nearly forgot to mention this: Linux only.
It basically does:
- Update CSGO on master request
- Update Metamod / Sourcemod
- Generate maplist.txt / mapcycle.txt
- Generate umc_mapcycle.txt - orders map by tier taking data from cksurf db
- Restore config after updates
It's possible to run this on multiple servers. Servers will be run in a screen to generate a propper log file which can be parsed.
Database access for cksurf / sm data will be parsed from the database.cfg of sourcemod.
To run this you need ruby, I strongly advise to use rvm for ease of use.
I've tried to provide a package that simplifies the csgo server setup.
There's several scripts provided, the 0x_name pattern is intended to show what order. Just start with 01.
After finishing 04_ you are left with a surf server that already contains the newest meta/sourcemod.
What you still have to do:
- You have to fill in server.cfg most important the server token
- You have to execute the ckSurf setup commands, see ckSurf for information on "insertmaptier" "insertmapzone"
- You should copy all configs that you change to cookie_data/config_load so they persist after sourcemod / game updates
Most notably copy 'databases.cfg' from 'csgo/addons/sourcemod/configs' to the same directory in 'config_load'
- adjust cronUpdate.sh to your paths and create a crontab entry
- adjust startWithScreen.sh to match your preferred start map
Changes in the provided ckSurf plugin:
- I've added a config command to hide custom titles like 'VIP', located at the last line of 'cfg/sourcemod/ckSurf.cfg'
- I've shortened the language display so it looks like DE|EXPERIENCED instead of DE | EXPERIENC
I plan to make some changes in UMC, as of now with 200+ maps there is a slight 1-2 second lag as soon as a map vote begins.
The core usage comes from 'ruby dev_adminTool.rb' you can append -h to show how to use it or check 04_ for an example.
All log output is located within cookie_data, the only file outside is csgo/unmappedMaps.txt which shows the maps for which there was no tier data in ckSurf.
I will add a function to add map tiers shortly but meanwhile if you got an sql cksurfdb HeidiSQL is neat or use any SQL-Lite-Browser if you use that.
Here is a list of what the adminTool provides in full:
Code:
Usage: dev_adminTool.rb [options]
-u, --unpack unpack map bz2 files
-p, --pack pack map bz2 files
-e, --existing do not unpack/pack files of which the map/archive file already exists
-l, --list print a maplist.txt file according to the current maps
-c, --cycle create a umc mapcycle and print the umc cycle as well as the map cycle, uses ckSurf db to resolve tiers and stages
--server_path path
Specify an absolute server path instead of using the current directory
--list_admins
list administrators from the source mod database
--delete_admins
delete administrators, e.g. --delete_admins 11 2 1 10 will delete admins by id 11, 2, 1, 10
--add_admin
add an administrator, e.g. --add_admin steam STEAM:1:1:00000 z Cookie 0
--add_nav
create dummy nav files for all maps to prevent nav generation
--delete_pending
deletes all ckSurf entries with 'STEAM_ID_PENDING' as steamid
--check_server
check if server is up or needs an update
--restart
restart the server
--stop
stop the server
--update
update the server
--updateMods
update metamod and sourcemod
Remarks
- If you want to have sv vars active while using cksurf you should add them to 'cfg/sourcemod/ckSurf/main.cfg' rather than server.cfg
Download: http://daskekshaus.de:1212/surf.tar.gz 1.7MB