- Filename: modmanager-v1.9.zip
- User: Killing
- Added: 22 Apr 2009
- File Size: 99.3 KB (101,693 bytes)
- Popularity: 2649 downloads
- MD5: 0d987b893bd31e1d7886af28b7add660
Tags
ModManager v1.9
Killing Wednesday 22 April, 2009
Killing Wednesday 22 April, 2009
Latest version of Multiplay’s ModManager admin system for Battlefield 2142 and Battlefield 2.
More Information (click to toggle)
ModManager v1.9 for Battlefield 2, Battlefield 2142
Copyright (c)2009 Multiplay
Author: Steven 'Killing' Hartland
Forums: http://forums.multiplay.co.uk/forumdisplay.php?s=&forumid=195
Wiki: http://bf2.fun-o-matic.org/index.php/ModManager
Download: http://www.fileplay.net/files/fps/bf2142/servers
=== What is ModManager===
ModManager is server framework that enables players, admins and developers
to get the most out of BattleField servers.
It enables custom admin modules to be easily developed to enhance the
abilities of the server.
Additional or updated modules are then easily installed and loaded without
even restarting your server, reducing down time and keeping players happy.
=== Getting ModManager ===
Download the latest version of ModManager here: http://www.fileplay.net/files/fps/bf2142/servers
=== Installing ModManager===
To install just unzip into your servers directory
=== Running ModManager ===
Their are two ways you run ModManager depending on which package
you have.
Package #1 (Quick)
If you dont have modmanager.py in your bf2/admin directory
no further action is needed.
Package #2 (Safe)
If you have a modmanager.py in your bf2/admin directory
you will need to change your server config to to use it as
the admin script e.g.
sv.adminScript "modmanager"
If you are using the Windows server launcher change
AdminScript to be "modmanager" ( without the quotes )
=== Installing new modules ===
This couldnt be simpler just extract the new module so that
it sits in the "admin/modules" directory, add
modmanager.loadModule ""
To your modmanager.con and away you go.
=== Enhanced Rcon ===
ModManager includes a much enhanced rcon which can easily be
extended by addition modules. Due to this flexibility different
command will be available depending on which modules you have
loaded. For a full list of available commands you the built in
help system once you are logged into rcon.
==== Included modules ====
1) mm_announcer
Provides "On Join" and Time based messaging
Note: Messages on join are currently to all due
host.sgl_sendTextMessage( playerid, channelid, typeid, text, flags )
being broken for channelid 14 ( Player )
2) mm_autobalance
A direct conversion of the default Auto Balance script
with the addition of tuneables to disable balancing of
squad members, squad leader and the commander
3) mm_bf2cc
Provides the server side method to support BF2CC see
http://www.bf2cc.com for more info on this excellent
Rcon Client.
4) mm_kicker
Provides, ping ( high and low ), idle and bad word based kick and
bans.
5) mm_logger
Provides default file based logging
6) mm_reserver
Provides slot reservation based on player profileids
7) mm_rcon
A major update to the standard RCON including context
sensitive help, a fully extensible framework, enhanced error
detection as well as a number of other fixes.
8) mm_sample
A basic sample module
9) mm_tk_punish
A direct conversion of the default Team Kill script
10) mm_clanmatch *** DEPRICATED ***
Does nothing, please use mm_autobalance instead
11) mm_banmanager
Manages bans maintaining the following information:
* Player Nick
* Player key
* Player IP
* Datetime of ban
* Ban Period
* Ban Type
* Banned By
This is also multi server compatible so bans will no longer be lost
if you are running multiple servers from the same directory.
==== Developing modules ====
Developing modules for ModManager is easy. A good starting point
is contained in the modules/mm_sample directory. In addition to
this the core modules that ship with ModManager will help you
with examples of how almost everything works.
The ModManager API below is the listing of the methods ModManager
provides to enable you to develop BF2 modules quickly and easily.
Extending rcon in modules is simple the module just needs
to register its additional command handlers using
registerRconCmdHandler
==== Notes ====
* If you register handlers you should do so in the init() method
and call the converse method in shutdown()
* Due to the lack of a host.unregisterHandler( method ) modules
which use host.registerHandler( method ) should include a local
state variable which masks the call of these methods if the module
has been shutdown. See mm_announcer for an example of this.
* If your module registers for updates the update() method should
be clean an quick as this method will be called VERY often. Failure
to do so may cause significant performance penalties ( high CPU
load and lag ).
* module rcon commands should be added via the sub command interface
see mm_sample for an example of this
* You are encouraged to use the helper methods in mm_utils to
provide a consistent interface to kick and ban. Using these methods
will ensure your code takes advantage of any enhancements that may
become available in BF2 for this area in the future
e.g. Player dialog messages.
* All modules must provide a class level mm_load method which returns
the module object.
* Modules which support reload ( __supports_reload__ = True ) must
provide an object level shutdown method.
* It is not guaranteed that shutdown will be called on modules when
the server exits.
==== Debugging ====
Debugging support in ModManager is enabled using
modmanager.debugEnable 1
modmanager.debugFile "modmanager_debug.log"
modmanager.logLevel 10
This will create a log file in the servers main directory
which will capture any error / info that is generate by your
module.
===== State Vars =====
# The previous game state before the current one
mm.lastGameStatus
# The current game state
mm.currentGameStatus
# True if the current game state is bf2.GameState.Playing false otherwise
mm.gamePlaying
# True if the current round has started i.e. state is bf2.GameState.Playing
# and there are enough players to begin False otherwise
mm.roundStarted
===== Configuration methods =====
# Returns the configuration path
mm.configPath()
# Return the config filename.
mm.configFile()
# Return the modules configuration, adding any missing default values.
mm.getModuleConfig( moduleDefaults={} )
# Set the calling modules parameter.
mm.setParam( key, value )
# Add a value to the the calling modules parameters.
mm.addParam( key, value )
# Remove one of the calling modules parameter values.
mm.removeParam( key, idx )
# Return the calling modules parameter.
mm.getParam( key )
# Set the rcon modules parameter.
mm.setRconParam( key, value )
Return the rcon modules parameter.
mm.getRconParam( key )
# Save the running config
mm.saveConfig()
===== Logging methods =====
# Log the message at the given debug level.
mm.debug( level, msg )
# Log the message at the info level.
mm.info( msg )
# Log the message at the warn level.
mm.warn( msg )
# Log the message at the error level.
mm.error( msg, traceback=False )
# Returns a formatted string of the exception.
mm.exceptionString( self )
===== Rcon methods =====
# Register a new rcon function hander.
mm.registerRconCmdHandler( name, details )
# Unregister an existing rcon function handler.
mm.unregisterRconCmdHandler( name )
# Register a new rcon connect hander.
mm.registerRconConnectHandler( func )
# Unregister an existing rcon connect handler.
mm.unregisterRconConnectHandler( func )
# Register a new rcon disconnect hander.
mm.registerRconDisconnectHandler( func )
# Unregister an existing rcon disconnect handler.
mm.unregisterRconDisconnectHandler( func )
# Register a new rcon auth hander.
# auth_func should return a number indicating the authentication level
# check_func should return True or False indicating if the user is permitted
# to use the passed in rcon method
mm.registerRconAuthHandler( self, auth_func, check_func )
# Unregister an existing rcon auth handler.
mm.unregisterRconAuthHandler( func )
# Register a new rcon authed hander.
mm.registerRconAuthedHandler( func )
# Unregister an existing rcon auth handler.
mm.unregisterRconAuthedHandler( func )
===== Status methods =====
# Return how long a round has been running for.
# Takes into account start delay and any pauses.
mm.roundTime()
# Return how long a round has left to play.
# Returns 0 if there is no time limit or the round hasn't started
mm.roundTimeLeft()
===== Ban Manager methods =====
# Return the ban manager handle
mm.banManager()
===== Update methods =====
# Requests updates.
mm.registerUpdates( requestor )
# Cancel request for updates.
mm.unregisterUpdates( requestor )
==== mm_utils methods ====
# Return the name of the status
status_name( status )
# Return the number or None if invalid.
mm_utils.get_int( ctx, string, desc='number' )
# Kick a player with a reason
mm_utils.kick_player( player, msg='You are being kicked (Unknown reason)', delay=5, kick_type=KickBanType.rcon )
# Kick a player
mm_utils.kick_player_now( player, kick_type=None )
# Ban a player for a given period with a reason ( ** Depricated use mm.banPlayer(..) )
mm_utils.ban_player( player, msg='You are being banned (Unknown reason)', period=None, delay=5, ban_type=KickBanType.rcon )
# Ban a player ( ** Depricated use mm.banPlayerNow(..) )
mm_utils.ban_player_now( player, ban_type=None )
# Sends a message to a player on the server
# Note: This currently sends to the entire server as the underlying
# API is broken in this respect.
mm_utils.msg_player( playerid, msg )
# Sends a message to all players on the server
mm_utils.msg_server( msg )
# Execute a modules sub command
mm_utils.exec_subcmd( mm, subcmds, ctx, cmd )
# Return the name of the calling module
mm_utils.caller_module( level=2 )
# Return the name for the given function.
mm_utils.method_name( func )
# Split the using returning a list with exactly members.
mm_utils.lsplit( str, on, want, default='' )
# Find a player by cdkeyhash.
mm_utils.get_player_by_cd_key_hash( cdkeyhash )
# Determine the players CDKey hash.
mm_utils.get_cd_key_hash( player )
=== History ===
==== v1.9 ====
mm_rcon
* Added new v1.50 BF2 maps operation_blue_pearl
mm_tk_punish
* Added road kill tk change from BF2 v1.50 patch
==== v1.8d ====
mm_announcer
* New line '|' splits ignore patterns which are immediately preceded by the pattern: '§\d+'
mm_banmanager
* Fixed issues with invalid ascii characters in player names preventing bans and kicks.
* The default file format for mm_bans.xml is now UTF8 encoding
mm_utils
* Added to_unicode method and removed escaping from xml_escape as all calls now pass in unicode
==== v1.8c ====
mm_utils
* ml_escape now uses encode ignore instead of encode of replace
* largs now supports wanted = 0 which returns as many arguments as there are
mm_iga
* Added support for replaceable arguments in all commands e.g. tk|tkwarn:iga warn %arg1% 'Dont team kill %arg1% or you will be banned next time!'
==== v1.8b ====
mm_utils
* Escaped player names in wild card search so that pattern characters in the player name e.g. * dont break the search
==== v1.8a ====
mm_iga
* Stipped channel prefixes so commands work in all channels
* The automatic rcon auth handler now uses a "random" password for auth which is valid for a very limited time frame to prevent direct use of "rcon login"
* Fixed missing unregister for rcon cmd handlers
* Removed superfluous warning for iga alias on restart
==== v1.8 ====
mm_rcon
* Added new v1.50 maps wake_island_2142 and operation_shingle
mm_playerconnect
* Added Player validation method from BF2142 1.50
mm_tk_punish
* Added a validation for attacher removal of pending tk's
==== v1.7c ====
mm_kicker
* Fixed chat checks failing
==== v1.7b ====
mm_kicker
* Added checks for invalid kick and ban patterns
==== v1.7a ====
mm_rcon
* Fixed an issue mapValidateSize of coop / none standard gametypes
==== v1.7 ====
modmanager
* Added a method to retrieve the rcon handle
* Version bump
mm_bf2cc
* Now uses mm_utils.get_cd_key_hash( player ) to obtain cdkeyhash's this avoids an issue in BF2142 at least where some player names break admin.listPlayers
* Added a workaround for broken BF2cc version check
mm_rcon
* Fixed a bug in map list validation which would prevent invalid maps from being removed
* Added Highway Tampa to the ranked map list
* Exposed kickPlayer, banPlayer and banPlayerId for use with IGA
mm_utils
* find_player now supports wild card matching on player name if requested
==== v1.6a ====
modmanager
* setParam is now prevented from altering mm_rcon.restrictedGametypes and mm_rcon.lockedSettings
==== v1.6 ====
modmanager
* Increased error checking for config parsing
* setParam is now prevented from altering restricted parameters
mm_rcon
* Added Northern Strike maps
mm_utils
* Reverted to use server message as player message only works for player slot 0
==== v1.5-rc6 ====
mm_bf2cc
* switchplayer and sendplayerchat now support player names as well as playerid's
* Added some additional comments
* Added missing \n in output
mm_utils
* Added find_player which finds a player given either a player name or playerid
mm_rcon
* Enhanced mapRun to support None gametype / size parameters
modmanager
* Added new rcon methods runRconCommand and getRconContext
==== v1.5-rc5 ====
mm_rcon
* Enhanced mapRun to deal with mixed up case maps and gametype.
==== v1.5-rc4 ====
mm_utils
* Fix for largs returing invalid details if the first character was a quote
mm_rcon
* map and admin.runLevel commands now return OK to the rcon client
* N.B. No error checking is possible as the underlying rcon commands produce no output.
mm_bf2cc
* Fixed onPlayerDeath not dealing with None victim
==== v1.5-rc3 ====
mm_rcon
* Corrected error in maplist.append processing
==== v1.5-rc2 ====
mm_rcon
* Added basic and advanced map size validation. Advanced via map.desc is disabled by default
mm_autobalance
* Fixed off by one issue on player connect
mm_banmanager
* Now uses .search instead of .match on regexps
==== v1.5-rc1 ====
mm_rcon
* Added run map ability which enhances the way bf2142 implements admin.runLevel as well as adding it to BF2
* Added rcon command: map
Copyright (c)2009 Multiplay
Author: Steven 'Killing' Hartland
Forums: http://forums.multiplay.co.uk/forumdisplay.php?s=&forumid=195
Wiki: http://bf2.fun-o-matic.org/index.php/ModManager
Download: http://www.fileplay.net/files/fps/bf2142/servers
=== What is ModManager===
ModManager is server framework that enables players, admins and developers
to get the most out of BattleField servers.
It enables custom admin modules to be easily developed to enhance the
abilities of the server.
Additional or updated modules are then easily installed and loaded without
even restarting your server, reducing down time and keeping players happy.
=== Getting ModManager ===
Download the latest version of ModManager here: http://www.fileplay.net/files/fps/bf2142/servers
=== Installing ModManager===
To install just unzip into your servers directory
=== Running ModManager ===
Their are two ways you run ModManager depending on which package
you have.
Package #1 (Quick)
If you dont have modmanager.py in your bf2/admin directory
no further action is needed.
Package #2 (Safe)
If you have a modmanager.py in your bf2/admin directory
you will need to change your server config to to use it as
the admin script e.g.
sv.adminScript "modmanager"
If you are using the Windows server launcher change
AdminScript to be "modmanager" ( without the quotes )
=== Installing new modules ===
This couldnt be simpler just extract the new module so that
it sits in the "admin/modules" directory, add
modmanager.loadModule "
To your modmanager.con and away you go.
=== Enhanced Rcon ===
ModManager includes a much enhanced rcon which can easily be
extended by addition modules. Due to this flexibility different
command will be available depending on which modules you have
loaded. For a full list of available commands you the built in
help system once you are logged into rcon.
==== Included modules ====
1) mm_announcer
Provides "On Join" and Time based messaging
Note: Messages on join are currently to all due
host.sgl_sendTextMessage( playerid, channelid, typeid, text, flags )
being broken for channelid 14 ( Player )
2) mm_autobalance
A direct conversion of the default Auto Balance script
with the addition of tuneables to disable balancing of
squad members, squad leader and the commander
3) mm_bf2cc
Provides the server side method to support BF2CC see
http://www.bf2cc.com for more info on this excellent
Rcon Client.
4) mm_kicker
Provides, ping ( high and low ), idle and bad word based kick and
bans.
5) mm_logger
Provides default file based logging
6) mm_reserver
Provides slot reservation based on player profileids
7) mm_rcon
A major update to the standard RCON including context
sensitive help, a fully extensible framework, enhanced error
detection as well as a number of other fixes.
8) mm_sample
A basic sample module
9) mm_tk_punish
A direct conversion of the default Team Kill script
10) mm_clanmatch *** DEPRICATED ***
Does nothing, please use mm_autobalance instead
11) mm_banmanager
Manages bans maintaining the following information:
* Player Nick
* Player key
* Player IP
* Datetime of ban
* Ban Period
* Ban Type
* Banned By
This is also multi server compatible so bans will no longer be lost
if you are running multiple servers from the same directory.
==== Developing modules ====
Developing modules for ModManager is easy. A good starting point
is contained in the modules/mm_sample directory. In addition to
this the core modules that ship with ModManager will help you
with examples of how almost everything works.
The ModManager API below is the listing of the methods ModManager
provides to enable you to develop BF2 modules quickly and easily.
Extending rcon in modules is simple the module just needs
to register its additional command handlers using
registerRconCmdHandler
==== Notes ====
* If you register handlers you should do so in the init() method
and call the converse method in shutdown()
* Due to the lack of a host.unregisterHandler( method ) modules
which use host.registerHandler( method ) should include a local
state variable which masks the call of these methods if the module
has been shutdown. See mm_announcer for an example of this.
* If your module registers for updates the update() method should
be clean an quick as this method will be called VERY often. Failure
to do so may cause significant performance penalties ( high CPU
load and lag ).
* module rcon commands should be added via the sub command interface
see mm_sample for an example of this
* You are encouraged to use the helper methods in mm_utils to
provide a consistent interface to kick and ban. Using these methods
will ensure your code takes advantage of any enhancements that may
become available in BF2 for this area in the future
e.g. Player dialog messages.
* All modules must provide a class level mm_load method which returns
the module object.
* Modules which support reload ( __supports_reload__ = True ) must
provide an object level shutdown method.
* It is not guaranteed that shutdown will be called on modules when
the server exits.
==== Debugging ====
Debugging support in ModManager is enabled using
modmanager.debugEnable 1
modmanager.debugFile "modmanager_debug.log"
modmanager.logLevel 10
This will create a log file in the servers main directory
which will capture any error / info that is generate by your
module.
===== State Vars =====
# The previous game state before the current one
mm.lastGameStatus
# The current game state
mm.currentGameStatus
# True if the current game state is bf2.GameState.Playing false otherwise
mm.gamePlaying
# True if the current round has started i.e. state is bf2.GameState.Playing
# and there are enough players to begin False otherwise
mm.roundStarted
===== Configuration methods =====
# Returns the configuration path
mm.configPath()
# Return the config filename.
mm.configFile()
# Return the modules configuration, adding any missing default values.
mm.getModuleConfig( moduleDefaults={} )
# Set the calling modules parameter.
mm.setParam( key, value )
# Add a value to the the calling modules parameters.
mm.addParam( key, value )
# Remove one of the calling modules parameter values.
mm.removeParam( key, idx )
# Return the calling modules parameter.
mm.getParam( key )
# Set the rcon modules parameter.
mm.setRconParam( key, value )
Return the rcon modules parameter.
mm.getRconParam( key )
# Save the running config
mm.saveConfig()
===== Logging methods =====
# Log the message at the given debug level.
mm.debug( level, msg )
# Log the message at the info level.
mm.info( msg )
# Log the message at the warn level.
mm.warn( msg )
# Log the message at the error level.
mm.error( msg, traceback=False )
# Returns a formatted string of the exception.
mm.exceptionString( self )
===== Rcon methods =====
# Register a new rcon function hander.
mm.registerRconCmdHandler( name, details )
# Unregister an existing rcon function handler.
mm.unregisterRconCmdHandler( name )
# Register a new rcon connect hander.
mm.registerRconConnectHandler( func )
# Unregister an existing rcon connect handler.
mm.unregisterRconConnectHandler( func )
# Register a new rcon disconnect hander.
mm.registerRconDisconnectHandler( func )
# Unregister an existing rcon disconnect handler.
mm.unregisterRconDisconnectHandler( func )
# Register a new rcon auth hander.
# auth_func should return a number indicating the authentication level
# check_func should return True or False indicating if the user is permitted
# to use the passed in rcon method
mm.registerRconAuthHandler( self, auth_func, check_func )
# Unregister an existing rcon auth handler.
mm.unregisterRconAuthHandler( func )
# Register a new rcon authed hander.
mm.registerRconAuthedHandler( func )
# Unregister an existing rcon auth handler.
mm.unregisterRconAuthedHandler( func )
===== Status methods =====
# Return how long a round has been running for.
# Takes into account start delay and any pauses.
mm.roundTime()
# Return how long a round has left to play.
# Returns 0 if there is no time limit or the round hasn't started
mm.roundTimeLeft()
===== Ban Manager methods =====
# Return the ban manager handle
mm.banManager()
===== Update methods =====
# Requests updates.
mm.registerUpdates( requestor )
# Cancel request for updates.
mm.unregisterUpdates( requestor )
==== mm_utils methods ====
# Return the name of the status
status_name( status )
# Return the number or None if invalid.
mm_utils.get_int( ctx, string, desc='number' )
# Kick a player with a reason
mm_utils.kick_player( player, msg='You are being kicked (Unknown reason)', delay=5, kick_type=KickBanType.rcon )
# Kick a player
mm_utils.kick_player_now( player, kick_type=None )
# Ban a player for a given period with a reason ( ** Depricated use mm.banPlayer(..) )
mm_utils.ban_player( player, msg='You are being banned (Unknown reason)', period=None, delay=5, ban_type=KickBanType.rcon )
# Ban a player ( ** Depricated use mm.banPlayerNow(..) )
mm_utils.ban_player_now( player, ban_type=None )
# Sends a message to a player on the server
# Note: This currently sends to the entire server as the underlying
# API is broken in this respect.
mm_utils.msg_player( playerid, msg )
# Sends a message to all players on the server
mm_utils.msg_server( msg )
# Execute a modules sub command
mm_utils.exec_subcmd( mm, subcmds, ctx, cmd )
# Return the name of the calling module
mm_utils.caller_module( level=2 )
# Return the name for the given function.
mm_utils.method_name( func )
# Split the
mm_utils.lsplit( str, on, want, default='' )
# Find a player by cdkeyhash.
mm_utils.get_player_by_cd_key_hash( cdkeyhash )
# Determine the players CDKey hash.
mm_utils.get_cd_key_hash( player )
=== History ===
==== v1.9 ====
mm_rcon
* Added new v1.50 BF2 maps operation_blue_pearl
mm_tk_punish
* Added road kill tk change from BF2 v1.50 patch
==== v1.8d ====
mm_announcer
* New line '|' splits ignore patterns which are immediately preceded by the pattern: '§\d+'
mm_banmanager
* Fixed issues with invalid ascii characters in player names preventing bans and kicks.
* The default file format for mm_bans.xml is now UTF8 encoding
mm_utils
* Added to_unicode method and removed escaping from xml_escape as all calls now pass in unicode
==== v1.8c ====
mm_utils
* ml_escape now uses encode ignore instead of encode of replace
* largs now supports wanted = 0 which returns as many arguments as there are
mm_iga
* Added support for replaceable arguments in all commands e.g. tk|tkwarn:iga warn %arg1% 'Dont team kill %arg1% or you will be banned next time!'
==== v1.8b ====
mm_utils
* Escaped player names in wild card search so that pattern characters in the player name e.g. * dont break the search
==== v1.8a ====
mm_iga
* Stipped channel prefixes so commands work in all channels
* The automatic rcon auth handler now uses a "random" password for auth which is valid for a very limited time frame to prevent direct use of "rcon login"
* Fixed missing unregister for rcon cmd handlers
* Removed superfluous warning for iga alias on restart
==== v1.8 ====
mm_rcon
* Added new v1.50 maps wake_island_2142 and operation_shingle
mm_playerconnect
* Added Player validation method from BF2142 1.50
mm_tk_punish
* Added a validation for attacher removal of pending tk's
==== v1.7c ====
mm_kicker
* Fixed chat checks failing
==== v1.7b ====
mm_kicker
* Added checks for invalid kick and ban patterns
==== v1.7a ====
mm_rcon
* Fixed an issue mapValidateSize of coop / none standard gametypes
==== v1.7 ====
modmanager
* Added a method to retrieve the rcon handle
* Version bump
mm_bf2cc
* Now uses mm_utils.get_cd_key_hash( player ) to obtain cdkeyhash's this avoids an issue in BF2142 at least where some player names break admin.listPlayers
* Added a workaround for broken BF2cc version check
mm_rcon
* Fixed a bug in map list validation which would prevent invalid maps from being removed
* Added Highway Tampa to the ranked map list
* Exposed kickPlayer, banPlayer and banPlayerId for use with IGA
mm_utils
* find_player now supports wild card matching on player name if requested
==== v1.6a ====
modmanager
* setParam is now prevented from altering mm_rcon.restrictedGametypes and mm_rcon.lockedSettings
==== v1.6 ====
modmanager
* Increased error checking for config parsing
* setParam is now prevented from altering restricted parameters
mm_rcon
* Added Northern Strike maps
mm_utils
* Reverted to use server message as player message only works for player slot 0
==== v1.5-rc6 ====
mm_bf2cc
* switchplayer and sendplayerchat now support player names as well as playerid's
* Added some additional comments
* Added missing \n in output
mm_utils
* Added find_player which finds a player given either a player name or playerid
mm_rcon
* Enhanced mapRun to support None gametype / size parameters
modmanager
* Added new rcon methods runRconCommand and getRconContext
==== v1.5-rc5 ====
mm_rcon
* Enhanced mapRun to deal with mixed up case maps and gametype.
==== v1.5-rc4 ====
mm_utils
* Fix for largs returing invalid details if the first character was a quote
mm_rcon
* map and admin.runLevel commands now return OK to the rcon client
* N.B. No error checking is possible as the underlying rcon commands produce no output.
mm_bf2cc
* Fixed onPlayerDeath not dealing with None victim
==== v1.5-rc3 ====
mm_rcon
* Corrected error in maplist.append processing
==== v1.5-rc2 ====
mm_rcon
* Added basic and advanced map size validation. Advanced via map.desc is disabled by default
mm_autobalance
* Fixed off by one issue on player connect
mm_banmanager
* Now uses .search instead of .match on regexps
==== v1.5-rc1 ====
mm_rcon
* Added run map ability which enhances the way bf2142 implements admin.runLevel as well as adding it to BF2
* Added rcon command: map
Filename: modmanager-v1.9.zip
Size: 99.3 KB
Popularity: 2649 downloads
Download
Size: 99.3 KB
Popularity: 2649 downloads


Comments
No one has commented on this file yet, you can be the first!