View Single Post
Author Message
Lange
Member
Join Date: Apr 2009
Old 04-12-2011 , 17:09   [TF2] MGEMod (v2.0.3, 4/19/13)
Reply With Quote #1

NOTICE!
4/19/2013
- 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
Browse source

Wiki Page
http://wiki.teamfortress.com/wiki/MGE_Mod

Usage
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.

Features
  • 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.

Commands
  • 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.
ConVars
  • 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

Changelog
Code:
2.0.3 - April 19th, 2013
	Bug Fixes:
		-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
	Bug fixes:
		-Fixed spelling error in SQL code

2.0.1 - April 15th, 2013
	Bug fixes:
		-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

	Additions:
		-2v2 arenas
		-KOTH arenas
		-Turris arenas
		-Ultiduo arenas
		-!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
		+ mge_dueling_v1
			- Open-source (not quite yet, .vmf to be distributed with map soon)
			-Ultiduo 2x
			-Spireking 2x
			-Turris 2x
			-BBall 1v1
			-BBall 2v2

	Bug fixes:
		-Flag in bball is now actually a flag instead of an ammopack

	Tweaks:
		-Remove advanced stats for better performance

1.0.7 - March 19th, 2013
	Fixes:
		- Fixed spawn bug for real this time.

1.0.6 - March 15th, 2013
	Fixes:
		- 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
	Additions:
		+ 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.

	Tweaks:
		- Increased arena limit to 31, up from 15.

1.0.4 - April 10th, 2012
	Fixes:
		- 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.

	Tweaks:
		- 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
	Additions:
	+ 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.

	Fixes:
	- 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.
	
	Thanks:
	- 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
	Fixes:
	- Fixed an issue that caused gameplay to get buggy after mapchanges.

1.0.1 - March 9th, 2012
	Fixes:
	- Fixed a bug in the stats system that prevented the plugin from loading (oops).

1.0.0 - March 7th, 2012
	Optimization:
	- Removed many unnecessary checks, especially for functions run on every frame.
	- Removed redundant and deprecated functions that dealt with particles.

	Fixes:
	- 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.
	
	Configuration:
	- Updated stat tracking to support newer weapons, and weapons from all 9 classes.

0.0.5 - April 9th, 2011
    Features:
    - 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.

    Configuration:
    - 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.

    Optimization:
    - Removed code that controlled custom (quake) sounds.

    WebUI:
    - Slight appearance tweaks.

    Fixes:
    - 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
    Balance:
    - When a player changes classes in a duel, their opponent will recieve full health, in addition to the point they already recieve.

    Commands:
    - !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.

    Configuration:
    - 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:
        - mgemod_bball_particle_red
        - mgemod_bball_particle_blue
    
    Features:
    + Added advanced stat tracking, based on code provided by Jonas Jacobi.
        - WebUI created by Skyride.
    + Added accuracy display for the spectator HUD.

    Fixes:
    - 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.

TODO:
    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.

Known Bugs:
    Changing class while taunting can cause a "civilian" glitch.
Credits
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.

Last edited by Lange; 05-11-2013 at 14:48. Reason: New version, 2.0.3
Lange is offline