SimpleCSGORanks is being coded as an alternative to paid mods such as gameme. The aim of the SimpleCSGORanks project is to create a simple plugin to track players skill in a simple way.
By Default: Everytime a player gets a kill their rank increases by 5. When a player is killed their rank decreases by 6. When a player assists a kill their rank increases by 2. When a player is much lower rank than the player they killed the numbers are 10 and 11. When a player defuses the bomb their rank increases by 5.
A player is considered recent if they have either killed a player or have themselves been killed by another player. Their recent activity variable is updated at the end of the round and time-stamped. Team kills are not tracked. A player can check their rank by saying !rank A player can check the top 10/25 players by saying !top, !top10 or !top25
Setup:
Copy all the zipped files into your sourcemod server directory. The plugin download link contains all of the sourcemod plugin files. The plugin works with MySQL, as such you will need to have one set up. The zip file contains a copy of databases.cfg that works with this mod. The following MySQL database and tables NEED to be either created or imported:
- You can either download and import it as a .sql from here OR
- You can add them manually with the following SQL statements:
- CREATE DATABASE IF NOT EXISTS steam;
- CREATE TABLE `steam` (`steamId` char(65) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `rank` char(65) DEFAULT NULL, `age` char(65) DEFAULT NULL, PRIMARY KEY (`steamId`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
- CREATE TABLE `steamname` (`steamId` char(65) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `name` char(255) DEFAULT NULL, PRIMARY KEY (`steamId`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
It is also recommended that you increase the buffer pool if you have over 20000 players.
innodb_buffer_pool_size=384M
There are five basic console variables:
- sm_simplecsgoranks_mode
- Sets the mode. (0) is rounds mode. (1) is immediate mode. Immediate mode is useful for deathmatch type games.
- sm_simplecsgoranks_ffa
- Enables free for all mode.
- sm_simplecsgoranks_kill_points
- The number of points gained per kill
- sm_simplecsgoranks_higher_rank_additional
- Additional points gained when killing a higher ranked player.
- sm_simplecsgoranks_higher_rank_gap
- Difference between players ranks needed to consider one to be a higher ranked player.
Additionally there are five advanced console variables:
- sm_simplecsgoranks_database
- Allows changing of the database used from databases.cfg
- sm_simplecsgoranks_cleaning
- (0)Nothing. (1) Cleans the database. (2) Clears players who have no kills for more than two months.
- sm_simplecsgoranks_useSlowCache
- Limit the rate at which the cache updates its data.
- sm_simplecsgoranks_useMaxThreads
- Allows more threads than usual. Might be useful for servers with a large number of players.
- sm_simplecsgoranks_debug
- Enable or disable advanced error messages. (0 or 1)
MySQL setup on Windows:
Many people have had trouble setting up MySQL and adding the databases on windows. Below you will find information for setting up MySQL:
- Step 1, Install the MySQL database server: Watch Video 1
- Step 2, Add the database and tables: Watch Video 2
Follow the step 2 tutorial until you have used the "mysql -uroot" bit and then enter the following 4 lines of code into the command window- CREATE DATABASE IF NOT EXISTS steam;
- USE steam;
- CREATE TABLE `steam` (`steamId` char(65) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `rank` char(65) DEFAULT NULL, `age` char(65) DEFAULT NULL, PRIMARY KEY (`steamId`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
- CREATE TABLE `steamname` (`steamId` char(65) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `name` char(255) DEFAULT NULL, PRIMARY KEY (`steamId`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;