Recommended Posts

CSGO Multi 1v1

(ARENA MOD) by splewis


The multi1v1 plugin sets up any number of players in 1v1-situations on specially made maps and they fight in a ladder-type system each round. The winners move up an arena, and the losers go down an arena. Players choose between specific round types (for example: "rifle", "pistol", "awp"), and the plugin automatically spawns and gives players the appropriate weapons each round start.


  • Round types: there are 3 round types: rifle, pistol, and awp
  • Player selection: players can select to allow pistol and awp rounds or ban them, rifle rounds are always allowed
  • Player preference: players can also select a preference of round type, if player preferences match they will play that type
  • Weapon selection: players can select their primary (i.e. their rifle) and their pistol
  • Armor on pistol rounds: helmets are taken away, and kevlar is also taken away if the player selected an upgraded pistol
  • ELO ranking system: optionally, player statistics can be stored in a database, see below for details

Extra plugins

Sometimes it's easier to add something in a seperate plugin than add more convars, thus some features may be in support plugins. These are all optional.

  • multi1v1_flashbangs: if both players in an arena say "yes" to getting flashbangs, a flashbang is given to each player
  • multi1v1_kniferounds: adds unranked knife rounds
  • multi1v1_online_stats_viewer: adds the !stats and related commands that open up a stats webpage in a MOTD panel



  • Sourcemod 1.9 or later.
  • To compile, you will need:


Download the archive and extract the files to the game server. From the download, you should have installed the following (to the csgo directory):

  • addons/sourcemod/plugins/multi1v1.smx
  • addons/sourcemod/configs/multi1v1_weapons.cfg
  • addons/sourcemod/translations
  • cfg/sourcemod/multi1v1


  • The file cfg/sourcemod/multi1v1/multi1v1.cfg will be autogenerated when the plugin is first run and you can tweak it if you wish.
  • You may also tweak the values in cfg/sourcemod/multi1v1/game_cvars.cfg, which is executed by the plugin each map start.
  • Here is a brief list of some cvars available. See the auto-generated cfg/sourcemod/multi1v1/multi1v1.cfg file for descriptions.
  • sm_multi1v1_autoupdate: whether the plugin attempts to use the auto-updater plugin
  • sm_multi1v1_pistol_behavior: what types of pistols (if any) should be given in non-pistol rounds
  • sm_multi1v1_roundtime: length of the round
  • sm_multi1v1_use_database: whether the plugin attempts to store player statistics (e.g. elo ranking) in a MySQL database
  • sm_multi1v1_verbose_spawns: whether the plugin will dump information on player-spawn clustering on map starts
  • addons/sourcemod/configs/multi1v1_weapons.cfg contains the list of weapons that are available under the rifle and pistol menus. You are free to add or remove weapons from this as long as they match the correct format. Note that the team part is only for making sure the player gets the correct weapon skin, otherwise it has no effect.

Setting up the Stats System

This is a brief overview of how you can setup a stats website for your multi1v1 server. There are other ways you can display and store stats - but this guide is intended for those not interesting in developing their own code to do so.

As such, it assumes the usage of:

  • MySQL for storing stats
  • The provided stats web interface
  • The provided stats viewer plugin

You could make other choices for the above 3 options while using the multi1v1 plugin, but it would require custom development.

Setting up MySQL

  • You need a MySQL server running somewhere. Many web hosting companies provided managed services that include a MySQL server. If you are willing to do some light-command line work, you could get a cheap VPS from a company like Digital Ocean and install MySQL on it. From that you can create a database, create a user, and grant permissions to the user on the database.
  • If you are using a remote server as your MySQL server, make sure you remote connections are allowed. (by default they aren't, usually you can just edit the bind-address ip in /etc/mysql/my.cnfto do so)
  • Once your database is set up, you must add a new entry on the CS:GO server to addons/sourcemod/configs/databases.cfg with the name "multi1v1".
  • Note: if you only want the stats and no website, you could stop here and be done.

Setting up the web server

  • You have to do this yourself, or find someone else's open-source multi1v1 stats website.
  • You may try to use the php pages that were released until 1.1.5 (see, but you will get no support for using/installing it.

Setting up the game server plugin

  • The multi1v1 package download included the multi1v1_online_stats_viewer.smx plugin file in the addons/sourcemod/plugins/disabled directory.
  • Move this file up to the addons/sourcemod/pluginsdirectory.
  • Once you do that, that plugin will autogenerate the cfg/sourcemod/multi1v1/multi1v1_online_stats_viewer.cfg file, which you can set cvars in.
  • In particular, you will need to set sm_multi1v1_stats_url and sm_multi1v1_top_url.

With the stock web interface, you should set these to:

Hidden Content

    Give reaction to this post to see the hidden content.

Using the statistics database

Note: SQLite is not supported. Only MySQL is.

You should add a database named mult1v1 to your databases.cfg file like so:

Hidden Content

    Give reaction to this post to see the hidden content.

To create a MySQL user and database on the database server, you can run:

Hidden Content

    Give reaction to this post to see the hidden content.

Make sure to change the IP, the username, and the password. You should probably change the database as well, especially if you already have one set up you can use.

Adding round types via a config file

This is the simpler approach, but you are fairly restricted in the logic you can use. The file to edit is addons/sourcemod/configs/multi1v1_customrounds.cfg.

Here is an example file that adds a scout round and a knife round:

Hidden Content

    Give reaction to this post to see the hidden content.

Adding round types via another plugin
Using the natives in, you can write more complex logic into a round type. To get a simple example, check multi1v1_kniferounds.sp. The key is calling Multi1v1_AddRoundType within the Multi1v1_OnRoundTypesAdded forward.

Hidden Content

    Give reaction to this post to see the hidden content.

Note that the multi1v1 plugin will

  • create and update the column for the round-type stats if you set the round type as ranked and give a non-empty string as the ratingFieldName parameter ( note that these columns are only created on database-connections)
  • create and update the "allow x rounds" clientprefs cookie for you (it uses the interalName when naming the cookie)

Thanks to AlliedModders

Download Link

Hidden Content

    Give reaction to this post to see the hidden content.

  • Like 35
  • Thanks 1
  • Haha 1

Share this post

Link to post
Share on other sites
  • 6 months later...
On 3/25/2020 at 8:36 PM, RO FUNNY said:

nice dude

:) feel free to look around!

Share this post

Link to post
Share on other sites
  • 2 weeks later...
  • 4 weeks later...
On 4/16/2020 at 5:18 PM, Liviu00 said:

nu merge

English please!

Share this post

Link to post
Share on other sites
  • iCE unfeatured this topic
  • 5 months later...
  • 1 month later...
On 11/15/2020 at 3:58 PM, Flavi said:

de ajutor


English please

Share this post

Link to post
Share on other sites
5 hours ago, Smurfa said:

de ajutor

English only comments .

Share this post

Link to post
Share on other sites
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.