How to Set Up a TF2 MGE Server (MGEMod Install Guide)

Run a Team Fortress 2 MGE server: install MGEMod on SourceMod, load mge_training_v8_beta4b, set server.cfg, and fix arenas that do not appear.

Updated Oct 7, 2026 · 6 min read

On this page

To set up a TF2 MGE server, install Metamod:Source and SourceMod first, then download mge.zip from the maintained MGEMod releases on GitHub and merge its addons and maps folders into your server's tf/ folder. Start the server on an MGE map that the plugin has spawns for, such as mge_training_v8_beta4b, set mp_timelimit 0 so the map never rotates away, and players type !add in chat to join an arena. MGEMod only activates on maps listed in its mgemod_spawns.cfg, which is the reason most "MGE is installed but nothing happens" reports come up.

What MGE is

MGE is the 1v1 and 2v2 training mod competitive TF2 players use to drill Soldier, Demoman and Scout fights. An MGE map is a set of small arenas; players queue for an arena, duel to a frag limit, and the winner stays on. MGEMod tracks an Elo style rating per player, with !top5 and !rank to show it off.

The original MGEMod author made their GitHub repositories private some time ago, so the version everyone uses now is the community maintained fork by sapphonie. The latest release at the time of writing is v3.0.9, which added 100 player support and fixed Workshop maps.

Team Fortress 2 Soldier in a duel arena

What you need

Piece Where it goes Notes
Metamod:Source and SourceMod tf/addons/ Covered in how to install SourceMod on a TF2 server
mge.smx tf/addons/sourcemod/plugins/ The compiled plugin, inside mge.zip
mgemod_spawns.cfg tf/addons/sourcemod/configs/ Arena spawn points for each supported map
mgemod.phrases.txt tf/addons/sourcemod/translations/ Chat messages, plus de, ru and chi versions
MGE maps (.bsp) tf/maps/ mge.zip bundles the common ones

Install SourceMod and confirm it works with sm version before you touch MGE. If meta list says "Unknown command", fix that first, because MGEMod cannot load without it.

Step 1: Download the right file

On the releases page, download the mge.zip asset. Do not use GitHub's green "Code" button or "Source code" downloads: the README says plainly that the plugin will not work that way, since the source does not include the compiled .smx or the large maps.

mge.zip contains two folders:

addons/sourcemod/configs/mgemod_spawns.cfg
addons/sourcemod/plugins/mge.smx
addons/sourcemod/translations/...
maps/mge_training_v8_beta4b.bsp
maps/mge_chillypunch_final4_fix2.bsp
maps/mge_oihguv_sucks_b5.bsp
maps/mge_triumph_beta7_rc1.bsp
maps/mge_dueling_v1_fix1.bsp
maps/mge_bball_v2.bsp
...

Step 2: Merge it into tf/

Stop the server and upload both folders into tf/, merging with what is already there. You should end up with tf/addons/sourcemod/plugins/mge.smx and tf/maps/mge_training_v8_beta4b.bsp. The classic mistake is uploading into tf/addons/, which gives tf/addons/addons/sourcemod/... and a plugin that never loads.

Step 3: Pick the map

mge_training_v8_beta4b is the long standing default, and mge_chillypunch_final4_fix2 and mge_oihguv_sucks_b5 are popular alternatives. Make the server start on one of them, for example:

+map mge_training_v8_beta4b

Put the same name alone in tf/cfg/mapcycle.txt so a map change or vote never sends players to 2fort.

You can also run the Workshop copy, which saves players a slow download from your server:

changelevel workshop/1996603816

MGEMod converts the Workshop name back to mge_training_v8_beta4b to find its spawns. If you use other custom maps or want faster downloads for the .bsp files, the custom maps guide for TF2 covers Workshop IDs, mapcycle.txt and FastDL.

Step 4: server.cfg for MGE

MGEMod automatically sets mp_autoteambalance 0, mp_teams_unbalance_limit 32 and mp_tournament 0 on map start, because autobalance would yank players out of their arenas. The rest is up to you. A solid tf/cfg/server.cfg:

hostname "Late Night MGE | Soldier, Demo, Scout"
sv_password ""
mp_timelimit 0            // never change map on time
mp_winlimit 0
mp_maxrounds 0
mp_idledealmethod 0       // do not kick players waiting in queue or spectate
tf_weapon_criticals 0     // no random crits
tf_use_fixed_weaponspreads 1
sv_alltalk 1

// MGEMod settings
mgemod_fraglimit 3        // frags to win a duel; 20 is common for serious practice
mgemod_allowed_classes "soldier demoman scout"
mgemod_stats 1
mgemod_blockdmg_fall 0
mgemod_airshot_height 80
mgemod_hide_rating 0

MGEMod does not create its own config file in tf/cfg/sourcemod/, so keep these settings in server.cfg. Remember server.cfg runs on map load; use exec server.cfg to apply changes now.

Step 5: Start it and test

Start the server and check the plugin from the console:

sm plugins list
sm_mgemod_version

mge.smx should be listed as running. Then join and try the player commands in chat:

Chat command What it does
!add Opens the arena menu; !add 3 or !add <arena name> joins one directly
!first Joins the first free arena
!remove Leaves your arena or queue
!top5 Shows the top 5 rated players
!rank <name> or !stats Shows a player's rating
!hud Toggles the text HUD
!hitblip Toggles the hit sound
!handicap <hp> Lowers your max HP to give a weaker player a chance; !handicap off resets it
!1v1 / !2v2 Switches your arena between 1v1 and 2v2
!mgehelp Lists the commands

Admins with the ban flag also get !botme (add a bot to your arena for testing), !koth and !mge (switch an arena's mode). Admins go in addons/sourcemod/configs/admins_simple.ini as described in the SourceMod guide.

Team Fortress 2 community server match

Ratings and the database

MGEMod saves ratings to a database. By default it looks for a database entry called mgemod in tf/addons/sourcemod/configs/databases.cfg. If there is none, it logs an error and falls back to SourceMod's built in SQLite database, storage-local, which is fine for a single server. That fallback message in the error log is expected, not a failure.

To share one leaderboard across several MGE servers, add a MySQL entry named mgemod to databases.cfg on each one:

"mgemod"
{
	"driver"	"mysql"
	"host"		"db.example.com"
	"database"	"mgemod"
	"user"		"mge"
	"pass"		"secret"
}

Set mgemod_stats 0 if you do not want ratings at all.

Troubleshooting

  • Plugin loads, but !add shows no arenas or nothing happens. The current map is not in mgemod_spawns.cfg. Use one of the maps the file lists (mge_training_v8_beta4b, mge_chillypunch_final4_fix2, mge_triumph_beta7_rc1 and others), and match the version suffix exactly: mge_training_v8_beta4a and beta4b are separate entries.
  • mge.smx shows as Error in sm plugins list. Read tf/addons/sourcemod/logs/errors_*.log. Make sure SourceMod is a current stable build; MGEMod is compiled against SourceMod 1.11 and later.
  • Players get autobalanced out of arenas. Something sets mp_autoteambalance 1 after MGEMod. Check mgemod_autocvar is 1 and remove autobalance lines from your configs.
  • Map changes away mid session. Set mp_timelimit 0 and mp_maxrounds 0, and keep only the MGE map in mapcycle.txt.
  • Players stuck on "Downloading maps/mge_...". The map downloads from the server itself, which is slow. Use the Workshop copy or set up FastDL.
  • Logs mention mgemod.log. MGEMod writes its own log to addons/sourcemod/logs/mgemod.log, which is the first place to look for arena problems.

Running MGE on a hosted server

On a Team Fortress 2 server from GamezServers, set Default Map in the panel to mge_training_v8_beta4b, upload mge.zip into tf/ with the file manager (it extracts zips on the server) or SFTP, and edit server.cfg in the browser. We make the Steam login token for you, so the server lists in the Community Servers browser from its first start, and a one click backup before a TF2 update makes it easy to roll back if a plugin breaks. An MGE server with SourceMod runs comfortably on the 4 GB plan.

FAQ

What map do TF2 MGE servers use?

mge_training_v8_beta4b is the most common. mge_chillypunch_final4_fix2, mge_oihguv_sucks_b5 and mge_triumph_beta7_rc1 are also supported by MGEMod's spawn file and included in its release zip.

Do I need SourceMod for MGE?

Yes. MGEMod is a SourceMod plugin, and SourceMod needs Metamod:Source. Install both and check sm version works before adding MGE.

Where do I download MGEMod now?

From the community maintained fork at github.com/sapphonie/MGEMod. Download the mge.zip file from the latest release, not the source code.

How do I change the frag limit in MGE?

Set mgemod_fraglimit in server.cfg, for example mgemod_fraglimit 20. The default is 3.

Why does MGE not work on my map?

MGEMod only runs on maps that have arena spawns in addons/sourcemod/configs/mgemod_spawns.cfg. Use a listed map, or add spawns for your map to that file.

Skip the setup. Your own Team Fortress 2 server.

$2.49USD first month

Then $4.99/mo. Just trying it? $1.25 for 3 days

Keep reading