Influx is no longer supported. Thanks for all the support throughout the years. A lot was learned as well. :) - Mehis

Installation

Setup

  1. Install SourceMod and MetaMod Source
  2. Download Influx and extract the zip contents in cstrike/csgo-directory.

Your directory structure should look like this:

csgo/cstrike \
              |addons \
              |        |metamod
              |        |sourcemod \
              |                    |bin
              |                    |configs
              |                    |data
              |                    |extentions
              |                    |gamedata
              |                    |...
              |bin
              |cfg \
              |     |influx
              |     |...
              |...

If you have problems, please see this section.

Using MySQL

MySQL is OPTIONAL! SQLite is used by default and does not need any configuration!

In addons/sourcemod/configs/databases.cfg-file add influx-mysql section.

"influx-mysql"
{
	"driver"	"mysql"
	"host"		"ipaddress"
	"database"	"dbnameyoucreated"
	"user"		"root"
	"pass"		""
	"port"		"3306"
}

Core plugin not loading and throwing errors might mean you've done this part wrong.

The latest supported MySQL version is 5.7.33. Newer versions like 8.x are incompatible due to an updated authentication schema.

To convert your already running SQLite database to MySQL:

  1. Make sure you have sqlite3 installed! apt update;apt install sqlite3;sqlite3 --version;
  2. Copy your current database from /addons/sourcemod/data/sqlite/influx-sqlite.sq3
  3. Create sqlite-mysql.sh bash file and chmod +x sqlite-mysql.sh (this file will dump sqlite3 database and convert it to MySQL .sql dump
  4. Add this to the newly created file:
    #!/bin/bash
    sqlite3 influx-sqlite.sq3 .dump > influx-dump.sqlite
    replace "BEGIN TRANSACTION" "START TRANSACTION" -- influx-dump.sqlite
    replace "uid INTEGER PRIMARY KEY" "uid INTEGER PRIMARY KEY AUTO_INCREMENT" -- influx-dump.sqlite
    replace "PRAGMA foreign_keys=OFF;" "SET NAMES utf8mb4;" -- influx-dump.sqlite
    replace "ON CONFLICT FAIL" "" -- influx-dump.sqlite
    replace "usage VARCHAR(64)" "\`usage\` VARCHAR(64)" -- influx-dump.sqlite
    replace "noauto VARCHAR(3)" "\`noauto\` VARCHAR(3)" -- influx-dump.sqlite
    replace "DEFAULT \`off\`" "DEFAULT 'off'" -- influx-dump.sqlite
    mv influx-dump.sqlite influx-database.sql
    mysql -u user -p database < influx-database.sql
    
  5. Make sure to replace user and database in the last line to match the ones you've setup in /addons/sourcemod/configs/databases.cfg
  6. Now just run your script with ./sqlite-mysql.sh
  7. It will dump sqlite3 database, replace some lines to match MySQL and then import the dump into your mysql database
  8. It will ask you for the database password so be prepared to enter it (or you can replace -p database with -pYourPasswordHere database)

General

Plugin List

Core
influx_core This is the core of Influx. This is always required!
influx_help Influx's !help menu.
influx_pause Allows players to pause their run via !pause/!continue.
influx_practise Allows players to enter practise mode.
influx_prespeed Handles prespeed checks.
influx_recording Run recording and playback via replay bot. !replay
influx_recrank Displays record message to players in chat.
influx_recsounds Plays record sounds whenever player finishes a run. See addons/sourcemod/configs/influx_sounds.cfg
Styles
influx_style_adonly A/D-Only (the user can choose between a-only or d-only)
influx_style_backwards Backwards
influx_style_hsw Half-Sideways (bhop hsw)
influx_style_lowgrav Low Gravity
influx_style_normal Normal
influx_style_parkour Parkour
influx_style_prespeed Prespeed (no prespeed limit)
influx_style_rhsw Real Half-Sideways (surf hsw)
influx_style_sw Sideways
influx_style_tas_csgo TAS (CS:GO)
influx_style_tas_css TAS (CSS)
influx_style_wonly W-Only
Modes
influx_mode_auto_csgo Autobhop (CS:GO)
influx_mode_auto_css Autobhop (CSS)
influx_mode_scroll Scroll (ie. Legit)
influx_mode_stockcap Stockcap (sv_enablebunnyhopping 0 + scroll)
influx_mode_velcap Velcap (ie. 400vel)
Stats
influx_jumps The jump stat. Adds counter to HUD and saves number of jumps to database.
influx_strafes The strafe stat. Adds counter to HUD and saves number of strafes to database.
influx_strfsync Strafe sync. Adds sync counter to HUD.
influx_maprankings Map specific ranks. Adds rank to HUD.
influx_mvpstar MVP star on the scoreboard signifies some stat. (by default the player's rank)
influx_printcptimes Prints times in chat whenever player hits a checkpoint.
influx_simpleranks Simple ranks. Players gain points and ranks for finishing runs.
influx_simpleranks_chat Displays player's rank in their chat messages.
HUD
influx_hud_draw Core of hud drawing.
influx_hud_draw_csgo Draws HUD for CS:GO (sidebar + center text)
influx_hud_draw_css Draws HUD for CSS (sidebar + center text)
influx_truevel Allows players to toggle between XY and XYZ speedometer in HUD.
Player settings
influx_hud Core of hud settings.
influx_hud_hidehud Allows players to hide base HUD elements.
influx_hud_hideplayers Allows players to hide other players.
influx_hud_hideplayers_wepsnd Also turns off all weapons sounds.
influx_hud_recchat Allows players to hide record messages.
influx_hud_recsounds Allows players to stop record sounds.
influx_hud_viewmodel Allows players to hide their viewmodel.
Misc
influx_comp_standup Compatibility to Standup lj plugin.
influx_config Executes cfg/influx.cfg on every map change. (after gamemode_*.cfg)
influx_disableradio Disable radio messages.
influx_disablesuicide Disable suicide.
influx_dropknife_css Allows players to drop their knife. For CS:GO use cvar.
influx_fixtimelimit Fixes map changes done via mp_timelimit.
influx_nocollision Turns off collisions between players.
influx_nodmg Gives players god-mode.
influx_silent_chatcmds Silences certain chat commands (by default: !r/!spec)
influx_specalltalk_css Allows players to chat across teams (CSS).
influx_speclist Displays spectator info with !speclist.
influx_teams Allows players to change their team with !spawn/!spec
influx_teams_autojoin Forces players to autojoin a team.
influx_teletoend Allows players to teleport to the end of the run via !end.
influx_teletorun Allows players to teleport to a run via !main/!b/!b2.
Anti-cheat
influx_ac_leftright Blocks excessive +left/+right usage. Not recommended for surf.
influx_fpscheck Checks player's fps_max (scroll)
Weapons
influx_wepdrop Removes all dropped weapons.
influx_wepgive Allows players to give themselves weapons via chat (!usp)
Zones
influx_zones Core of zones.
influx_zones_beams Displaying of zones. ie. beams
influx_zones_autobhop Autobhop zone.
influx_zones_block Block zone.
influx_zones_checkpoint Checkpoint zone.
influx_zones_freestyle Freestyle zone.
influx_zones_stage Stage zone.
influx_zones_teleport Teleport zone.
influx_zones_timer Timer zones (start/end).
influx_zones_validator Validator zone

Commands

  • You can find commands with the !help-command. (displays a menu)
  • You can also find most admins commands in !admin -> Influx Commands
  • By default all admin related commands require root flag (z). See section below on where to find these.
Admin Overrides

You can find related overridable commands in addons/sourcemod/configs/admin_overrides_influx_example.cfg.
Edit the admin_overrides.cfg with the commands you want to override.

Configs

You can see and edit all cvars in configs contained in cfg/influx-directory. The default values may vary depending on the version downloaded.

Map needs to be changed for changes to take effect!

Zones

Edit zones with !zone-command. You need root flag (z) by default.
Remember to hit save!

Common Problems

Nothing seems to work! / Influx is not loading!

Run meta and sm plugins list through the server console. If the commands don't respond, it means your installation of MetaMod/SourceMod is not working. Try using a dev-version of MetaMod and SourceMod (this is especially encountered on CS:GO).

If the following commands work and Influx still doesn't seem to load, sm plugins list will display what plugin failed to load.
Remember to also check your error log in addons/sourcemod/logs.

How do I make bonus zones?

Just like the main run, you make them using Timer Start and Timer End zones. After the main run is created, a sub-menu will open when attemping to create one of these zones.

Something is wrong with prespeeding / start zone!

The zone bounds are weird / I have to jump early/late to prespeed!

The zone is like a normal map trigger. You need to leave it entirely to trigger it. You can edit the beams to display like you're used to by going into addons/sourcemod/configs/influx_beams.cfg and adding "offset" "-16"

How do I change prespeed settings?

You can go to cfg/influx/prespeed.cfg for further customization.
Use the command !prespeedsettings to change settings per run.

Common spawning issues

Why doesn't the round end?

Go to cfg/influx.cfg and remove mp_ignore_round_win_conditions 1.

How do I stop players from respawning?

Remove plugins influx_teletorun and influx_teams. You may also want to change influx_teleonstylechange to 0 in cfg/influx/core.cfg.

I type !restart but it doesn't send me to the main run!

You can use !runs or !main to change your run. !restart will only reset you to the run you are currently in. You can change the behavior by using influx_teletorun_restarttocurrent 0

Something doesn't allow me to start the timer!

Make sure you have a mode and a style plugin loaded even if you do not care for custom modes/styles (use influx_mode_scroll and influx_style_normal for defaults).

Changing sv_airaccelerate doesn't do anything!

Sv_airaccelerate-cvar is controlled by modes. This is what allows multiple modes (eg. autobhop and scroll) to be played on the same server. You can change the mode's air acceleration in cfg/influx/mode_*.cfg files.

I need help!

Please visit the Influx Timer-discord for help. Best way to receive help, is to use the help-channel, ask the question in proper English and ping me. I do not wish to be added / DM'd regarding the timer. I hope you understand.

This timer is terrible!

I'm sorry you feel that way. The timer is not in active development, but I do take pull requests if you feel like the timer is missing some crucial feature.
There are also other timers out there that may fit your needs better, which you can find here using the search-function.