- 2.0.3 is out! There are a lot of new features that you can read about here: http://teamfortress.tv/forum/thread/...ge-2-0-release
MGEMod is a gameplay modification plugin designed for use on specially made mge_training maps, and it is aimed at competitive players looking to improve their aim and movement. The gameplay consists of multiple arenas which players can join and engage in duels with other players. The types of arenas include sections of official and custom 5CP maps, BBall, and Endif (an old QuakeWorld favorite). Here is a gameplay video
to give you an idea of what MGEMod is like.
Downloads & Source Code
Download .zip archive
Once the files are installed, changelevel to any of the "mge_training" maps and type "!add" in chat to join an arena. The plugin will automatically disable itself on other maps, so this can be safely installed on any server, including private scrim servers.
- A variety of different 1v1 arenas
- In-game ELO rating system.
- In-game menu system with arena queuing.
- Per-arena class restrictions, configurable via mgemod_spawns.cfg.
- Highly customizable and configurable. For example, you could use MGEMod to play BBall on cp_badlands, using the spires as hoops if you configured mgemod_spawns.cfg to do so.
- Voluntary handicap system to even out unfair fights.
- add OR mgemod [arena number/arena name] - Show the menu of arenas [or directly join an arena]
- remove - Leave your current arena or queue.
- top5 - Display the Top 5 rated players.
- hud OR hidehud - Toggle the display of the text hud overlay
- rank OR stats [player name] - View your rank [or view another player's rank]
- first - Join the first available arena.
- handicap [number] - Reduce your maximum health to a given number, to give a lower skilled opponent a fairer fight. Use "handicap off" to disable.
- sm_mgemod_version - Plugin version
- mgemod_fraglimit = "3" - Default frag limit in duel, will be overridden if explicitly defined in mgemod_spawns.cfg
- mgemod_allowed_classes = "soldier demoman scout" - Classes that players allowed to choose by default, will be overridden if explicitly defined in mgemod_spawns.cfg
- mgemod_blockdmg_fall = "0" - Block falldamage
- mgemod_dbconfig = "mgemod" - Name of database config
- mgemod_stats = "1" - Enable/Disable stats
- mgemod_airshot_height = "80" - The minimum height at which a shot will count as an airshot
- mgemod_endif_force_x = "1.1" - The amount by which to multiply the X push force on Endif
- mgemod_endif_force_y = "1.1" - The amount by which to multiply the Y push force on Endif
- mgemod_endif_force_z = "2.15" - The amount by which to multiply the Z push force on Endif
- mgemod_autocvar = "1" - Automatically set reccomended game cvars
- mgemod_bball_particle_red = "player_intel_trail_red" - Particle effect to attach to Red players in BBall
- mgemod_bball_particle_blue = "player_intel_trail_blue" - Particle effect to attach to Blue players in BBall
- mgemod_midair_hp = "5" - Default health multiplication for midair arenas
- mgemod_meatshot_percent = "0.9" - Percent of a weapon's max damage must that be achieved to count as a meatshot
- mgemod_hide_rating = "0" - Hide the in-game display of rating points. They will still be tracked in the database
- mgemod_reconnect_interval = "5" - How long (in minutes) to wait between database reconnection attempts
2.0.3 - April 19th, 2013
-Medics ubercharge will now be properly reset on round end (Thanks to thesupremecommander)
-Fxied dark room spawn bug (again)
-Improved cap point functionality to better match real cap points (Thanks to thesupremecommander)
-Paintrain now caps at 2x speed (Thanks to thesupremecommander)
2.0.2 - April 17th, 2013
-Fixed spelling error in SQL code
2.0.1 - April 15th, 2013
-Fixed HUD text bug for KBN hud
-Fixed timer dieing when a player in queue disconnects
-Fixed some Invalid client bugs
2.0.0 - April 15th, 2013
-!swap command in ultiduo that allows you to ask your teammate to swap classes with you
-!top5 is now a navigable ELO ranking menu that lets you view all players in the database
- Open-source (not quite yet, .vmf to be distributed with map soon)
-Flag in bball is now actually a flag instead of an ammopack
-Remove advanced stats for better performance
1.0.7 - March 19th, 2013
- Fixed spawn bug for real this time.
1.0.6 - March 15th, 2013
- Fixed spawn bug that caused players to spawn at the origin or otherwise outside of their arena.
- Thanks to Cprice for this fix.
1.0.5 - January 6th, 2013
+ mge_training_v8_beta2.bsp, created by Jstn7477
- Open-source (not quite yet, .vmf to be distributed with map soon)
- Added Gravelpit C arena.
- Added Process Middle arena.
- Added Turris arena.
- Added Trainyard_cool arena.
- Added Duel_Duel arena.
- Refined spawns on many arenas in an effort to promote faster and fairer gameplay.
- Texture optimizations
- Geometry optimizations
- Removal of several out-of-bounds and clipping exploits.
- These optimzations have resulted in increased performance and a greatly reduced file size.
- Increased arena limit to 31, up from 15.
1.0.4 - April 10th, 2012
- Slightly tweaked !first command logic so that if you are already in an arena waiting for a game, it won't put you into another empty arena.
- Weapon names are now properly sanitized in the stats system.
- Reverted Endif to infinite ammo by default. (Can't be assed to make infinite reserve ammo on a per-arena basis.)
- Updated Russian and German translations.
- WebUI now properly supports remote databases. Thanks to jameless for the fix.
- BBall now has a default capture limit of 10, and a default respawn time of 2 seconds. As always, this can be changed to your liking in mgemod_spawns.cfg.
1.0.3 - March 19th, 2012
+ Added handicap system.
- Used to lower your maximum health. Cannot be used to raise health.
- Type "!handicap <number>" to set your handicap. Example: '!handicap 100' will set your max health to 100.
- Type "!handicap off" to disable.
- Fixed a regression that caused the !mgehelp chat command to not work.
- Fixed a regression that caused mgemod_dbconfig, mgemod_bball_particle_red, and mgemod_bball_particle_blue to not detect changes.
- Fixed improper player disconnect handling that caused kicked and lagged out players to not get processed correctly.
- As a result, they will no longer interfere with queues or cause errorlog spam.
- Thrawn2 for pointing me in the right direction regarding kicked clients.
- Bombz for helping me test and pointing out the convar regressions.
1.0.2 - March 10th, 2012
- Fixed an issue that caused gameplay to get buggy after mapchanges.
1.0.1 - March 9th, 2012
- Fixed a bug in the stats system that prevented the plugin from loading (oops).
1.0.0 - March 7th, 2012
- Removed many unnecessary checks, especially for functions run on every frame.
- Removed redundant and deprecated functions that dealt with particles.
- All 9 classes can now be defined in the spawns config, as originally intended.
- Changed the way players' primary weapons are equipped when they spawn, eliminating compatability issues with tNoUnlocksPls.
- Automatic database reconnection now works as intended. This should result in fewer stat glitches.
- Improved string sanitation.
- Updated stat tracking to support newer weapons, and weapons from all 9 classes.
0.0.5 - April 9th, 2011
- mgemod_hide_rating: disables the in-game display of ELO rating. Players must visit a website running the MGEStats WebUI to view their stats.
- "top5" and "rank" still function in-game, but do not show ELO ratings.
- MGEMod can now automatically detect errors in the database connection and disable stats to prevent data loss. (Experimental)
- "mgemod_reconnect_interval" controls how long (in minutes) MGEMod should wait before retrying the database connection after it has detected an error.
- Upon a successful reconnect, stats will be re-enabled.
- In-game command "hidehud" has been added at the request of the community.
- Toggles the display of the text overlay elements on and off. Type "!hidehud" in chat to use.
- The default setting for "mgemod_dbconfig" is now "mgemod" instead of "default".
- If you used a custom database configuration (tf/addons/sourcemod/configs/databases.cfg) and had it named "default", then you should rename it to "mgemod".
- If you have no idea what a custom database configuration is, then you should not need to worry about this (MGEMod will automatically use the local database).
- Added new cvar "mgemod_stats" to enable/disable stats on the fly.
- Setting "mgemod_dbconfig" to "" will no longer disable stats. Use this new cvar instead.
- Removed code that controlled custom (quake) sounds.
- Slight appearance tweaks.
- When a player spawns, they now will always spawn with their primary weapon equipped.
- Fixed some error logging that would cause itself to error when called.
- Fixed several cases where the plugin would attempt to communicate with a database when it shouldn't have been allowed to.
- Fixed a bug where a specific player's Steam ID would somehow get a single quote appended to it, causing SQL queries to fail.
0.0.4 - December 13, 2010
- When a player changes classes in a duel, their opponent will recieve full health, in addition to the point they already recieve.
- !top5 now uses a menu display, and properly displays names.
- !add now supports arguments. Enter the number or partial/full name of the arena to join to immediately join it and bypass the menu.
- Example: !add 1 will add you to the first arena as shown on the menu, which for mge_training_v3 is Viaduct Middle.
- Example: !add via and !add Viaduct Middle will take you directly to Viaduct Middle.
- If multiple matches (argument too vague) or no matches are found, the menu will display.
+ Added !first chat command to automatically place players in the quickest available arena.
- Searches for arenas with one player.
- If none are found, searches for arenas with no players.
- If none are found, displays the menu.
+ Added !mgehelp chat command to print a list of MGEMod commands to console.
- Changed config file structure. Spawns are in mgemod_spawns.cfg, and weapon declarations (for stat tracking) are in mgemod_stats.cfg.
- Both of these files can be found in 'tf/addons/sourcemod/configs/'
- The map names in mgemod_spawns.cfg are no longer case sensitive.
- AutoCvar now also sets mp_tournament 0.
- Changed how early leavers are handled. It is now defined per-arena in mgemod_spawns.cfg
-If a player leaves an arena when their opponent has more points than them, AND their opponents score is higher than
the number defined by "earlyleave", then the leaver loses points and their opponent gains points.
- HUD Health text is now set per-arena in mgemod_spawns.cfg by "showhp", it is also color-coded:
- > 66% = Green
- >= 33% = Yellow
- < 33% = Red
- Infinite Ammo is now set per-arena in mgemod_spawns.cfg by "infammo".
- Arenas with respawns can now have their respawn delays changed via "respawntime" in mgemod_spawns.cfg
+ Added spawn distance protection:
- If a spawn point is within x amount of units (set per-arena in mgemod_spawns.cfg by "mindist") of your opponent, you won't spawn there.
+ Added cvars to adjust the particle effect that is attached to a player when they hold the intel:
+ Added advanced stat tracking, based on code provided by Jonas Jacobi.
- WebUI created by Skyride.
+ Added accuracy display for the spectator HUD.
- Fixed error in BBall hoop generation logic that caused it to log an error only when everything was working fine.
- Fixed an error that prevented the plugin from realizing a duel in a normal ammomod arena had reached its fraglimit.
- Fixed a spectating in floor bug.
- Fixed a case where a duel's stats could get reported multiple times.
- Fixed a case where a disconnect could cause another player to spawn in "the black box".
0.0.3 - October 13, 2010
- Tightened up client validity checks that caused logspam and odd behavior.
- Prevented !add and !remove from being able to be used when not on an MGE or AM map.
- Fixed an (often unintentional) exploit that allowed a client to leave an active match without losing points.
- Changed translation format.
- Started code cleanup and organization.
- Fixed a bug where the score of a match would be printed to chat multiple times, and the ELO rating of the players would get calculated multiple times.
+ Added BBall
+ Added !top5 command. (Buggy)
+ Added welcome message.
+ Added automatic execution of team balance-related cvars, to prevent confusion on new installs. This can be toggled with mgemod_autocvar.
+ Added optional debug logging, mostly centered around BBall. To use, uncomment "#define DEBUG_LOG" and re-compile.
0.0.2 - September 21, 2010
- Changed Badlands Middle spawns to be less cluttered.
- Fixed joinclass logic to prevent a "scout with a goddamn rocket launcher" exploit and to not award class change points during countdown.
+ Added Russian translations, courtesy of Root_.
0.0.1 - September 20, 2010
- Initial release.
Fix root_'s "double disconnect" bug.
Enable team (2v2) arenas.
Improve BBall arena gameplay to more closely match ctf_bball gameplay.
Remove firing delay when a player spawns.
Figure out why T_SQLQueryOnConnect fails sometimes.
Optimize procedures done OnGameFrame() - Done, will be in next version
Optimize and reduce the number of SQL queries - In progress, about 33% done.
Changing class while taunting can cause a "civilian" glitch.
MGEMod is based on Ammomod, DuelArena, and kAmmomod, and would not exist without contributions from the following people:
- TheNoid – Originally developed the ideas and gameplay of Ammomod.
- ZXT – Coded the original Ammomod.
- MikeJS – Created ELO Ranking and DuelArena, the original open-source Ammomod.
- FannyPack – Co-Author of DuelArena.
- Loomis – Co-Author of DuelArena.
- Krolus – Creator of kAmmomod.
- Loronix – Spawned the ideas behind MGEMod gameplay.
- CB – Created the mge_training maps.
- Swaty – Touched-up and optimized the mge_training maps.
- Jonas Jacobi – Provided the base code for the stats system.
- Skyride – Coded the WebUI for the stats system.
- Cprice - Lead coder from version 1.0.6 on.