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_coreThis is the core of Influx. This is always required!
influx_helpInflux's !help menu.
influx_pauseAllows players to pause their run via !pause/!continue.
influx_practiseAllows players to enter practise mode.
influx_prespeedHandles prespeed checks.
influx_recordingRun recording and playback via replay bot. !replay
influx_recrankDisplays record message to players in chat.
influx_recsoundsPlays record sounds whenever player finishes a run. See addons/sourcemod/configs/influx_sounds.cfg
Styles
influx_style_adonlyA/D-Only (the user can choose between a-only or d-only)
influx_style_backwardsBackwards
influx_style_hswHalf-Sideways (bhop hsw)
influx_style_lowgravLow Gravity
influx_style_normalNormal
influx_style_parkourParkour
influx_style_prespeedPrespeed (no prespeed limit)
influx_style_rhswReal Half-Sideways (surf hsw)
influx_style_swSideways
influx_style_tas_csgoTAS (CS:GO)
influx_style_tas_cssTAS (CSS)
influx_style_wonlyW-Only
Modes
influx_mode_auto_csgoAutobhop (CS:GO)
influx_mode_auto_cssAutobhop (CSS)
influx_mode_scrollScroll (ie. Legit)
influx_mode_stockcapStockcap (sv_enablebunnyhopping 0 + scroll)
influx_mode_velcapVelcap (ie. 400vel)
Stats
influx_jumpsThe jump stat. Adds counter to HUD and saves number of jumps to database.
influx_strafesThe strafe stat. Adds counter to HUD and saves number of strafes to database.
influx_strfsyncStrafe sync. Adds sync counter to HUD.
influx_maprankingsMap specific ranks. Adds rank to HUD.
influx_mvpstarMVP star on the scoreboard signifies some stat. (by default the player's rank)
influx_printcptimesPrints times in chat whenever player hits a checkpoint.
influx_simpleranksSimple ranks. Players gain points and ranks for finishing runs.
influx_simpleranks_chatDisplays player's rank in their chat messages.
HUD
influx_hud_drawCore of hud drawing.
influx_hud_draw_csgoDraws HUD for CS:GO (sidebar + center text)
influx_hud_draw_cssDraws HUD for CSS (sidebar + center text)
influx_truevelAllows players to toggle between XY and XYZ speedometer in HUD.
Player settings
influx_hudCore of hud settings.
influx_hud_hidehudAllows players to hide base HUD elements.
influx_hud_hideplayersAllows players to hide other players.
influx_hud_hideplayers_wepsndAlso turns off all weapons sounds.
influx_hud_recchatAllows players to hide record messages.
influx_hud_recsoundsAllows players to stop record sounds.
influx_hud_viewmodelAllows players to hide their viewmodel.
Misc
influx_comp_standupCompatibility to Standup lj plugin.
influx_configExecutes cfg/influx.cfg on every map change. (after gamemode_*.cfg)
influx_disableradioDisable radio messages.
influx_disablesuicideDisable suicide.
influx_dropknife_cssAllows players to drop their knife. For CS:GO use cvar.
influx_fixtimelimitFixes map changes done via mp_timelimit.
influx_nocollisionTurns off collisions between players.
influx_nodmgGives players god-mode.
influx_silent_chatcmdsSilences certain chat commands (by default: !r/!spec)
influx_specalltalk_cssAllows players to chat across teams (CSS).
influx_speclistDisplays spectator info with !speclist.
influx_teamsAllows players to change their team with !spawn/!spec
influx_teams_autojoinForces players to autojoin a team.
influx_teletoendAllows players to teleport to the end of the run via !end.
influx_teletorunAllows players to teleport to a run via !main/!b/!b2.
Anti-cheat
influx_ac_leftrightBlocks excessive +left/+right usage. Not recommended for surf.
influx_fpscheckChecks player's fps_max (scroll)
Weapons
influx_wepdropRemoves all dropped weapons.
influx_wepgiveAllows players to give themselves weapons via chat (!usp)
Zones
influx_zonesCore of zones.
influx_zones_beamsDisplaying of zones. ie. beams
influx_zones_autobhopAutobhop zone.
influx_zones_blockBlock zone.
influx_zones_checkpointCheckpoint zone.
influx_zones_freestyleFreestyle zone.
influx_zones_stageStage zone.
influx_zones_teleportTeleport zone.
influx_zones_timerTimer zones (start/end).
influx_zones_validatorValidator 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.