Monthly Target: $400 Donations: $311
 77% 

[ L4D2 ] Team Manager 2.3.4c


Post New Thread Reply   
 
Thread Tools Display Modes
Author
Skyy
BANNED
Join Date: Jan 2010
Location: void()
Plugin ID:
3517
Plugin Version:
2.3.4c
Plugin Category:
Server Management
Plugin Game:
Left 4 Dead
Plugin Dependencies:
    Unapprover:
    Plugin Description:
    Deprecated; Please see http://forums.alliedmods.net/showthread.php?t=207929 instead.
    Servers with this Plugin:
     
    Reason for Unapproving:
    Unsupported, succeeded by http://forums.alliedmods.net/showthread.php?t=207929
    Old 02-08-2013 , 11:25   [ L4D2 ] Team Manager 2.3.4c
    Reply With Quote #1

    Plugin Out of Date, Please instead use http://forums.alliedmods.net/showthread.php?t=207929



    Donations
    If you're interested in donating to support plugin development, I greatly appreciate your patronage.
    You can donate by clicking here -> PayPal




    Installation
    Please upload the contents of each folder to its equivalent on your server; /configs/ to /sourcemod/configs/ etc.
    The only folder to the exception of this is the /scripting/ folder. Instead, open /scripting/compiled/ and upload its contents to your /sourcemod/plugins/ folder.
    You are responsible for downloading the dependencies that this plugin requires; This is because after the time of a new version of this plugin being posted, it is possible that its dependencies may be update, and this decision has been made to reduce confusion and compatibility issues.




    This plugin is designed to provide a suite of features. Several of the modules can be completely disabled. Most importantly, it does not support other 4+ player unlock plugins like super versus or multi slots as it provides the same functionality (but in a stable environment with more configuration options!)


    The functionalities provided are:
    Code:
    Dynamic slot management					The amount of slots on the server will change based on the spectator player count.
    Superversus/Multislots Replacement			This plugin handles survivor bot creation and management. When a new player connects, if
    							there are no available survivor bots, one is created for the player. If the player leaves, the
    							survivor bot is removed.
    Team Maintenance					When a new map loads, it remembers which team the players were on. Once all clients have
    							loaded and ready up begins, it places the players who are on the incorrect teams onto their
    							appropriate teams.
    Smart Team Scramble					In versus, a team scramble will occur on the first map of every campaign, as well as if the
    							teams are a configurable amount of points apart, but not two maps in a row.
    Custom Team Scoring					All Survivors earn team score for their team, and all maps are worth 400 total points. When a
    							round ends, the scores are displayed in chat, as well as in a panel that is displayed to all
    							players. The actual scoreboard is not modified, but its values are ignored by this plugin.
    							If/when a mod is released that performs this functionality, but displays it properly in the
    							scoreboard, this feature will be removed.
    Campaign Rotation					When a campaign is complete, the next campaign in the series will be selected and load after
    							a configurable time period.
    Reserve Slots						Players with the reserve flag can connect to the server even if the maximum capacity is
    							reached, assuming there are reserve slots configured in the settings.
    Server-Wide Rankings					Players develop a ranking through statistics gathered over several areas, and are matched up
    							against every player who has played in the server. Once a player has played a sufficient amount
    							of rounds as survivor and infected (combined) they will also be eligible to be calculated against
    							the top 10 rankings list. If Smart Team Scramble is enabled in the configuration, player ranks are
    							used to determine which team they are assigned to. Keep in mind that a player with few rounds
    							played will be less likely to be accurately assigned as they will not have enough statistics collected
    							to provide an accurate assessment.

    Revision history:
    Code:
    v2.3.4c
    	-	A few minor updates, prior to the release of the major update, 2.4.
    	-	Game types that can be voted on are now set in the /sourcemod/configs/teammanager/config.cfg.
    		A sample config.cfg is included. As many game types as configs you have can be added.
    		When using !gametypevote, any listed will display to players.
    		v2.4 will see the release of the ability to dictate which campaigns are available to vote as well as which
    		days they can be voted for (an example is if you have a campaign that you want only playable on Mondays.)
    		When v2.4 releases, a sample config of how to set that up will be added.
    v2.3.4
    	-	Director-spawned Tanks spawn again. Director tanks were not allowed to spawn because
    		go_away_from_keyboard was hooked. How strange?
    v2.3.3
    	-	The plugin will now properly execute the start up config and lock in the game type.
    
    v2.3.1
    	-	Latency: Ping and Packetloss restrictions can now be set on clients. It is advised that
    		server owners wipe their current configs and allow the new config to generate.
    
    v2.2.5
    	-	A lot of things were fixed. I forget what they were, but it was a lot of important stuff!
    
    v2.2.3
    	-	AutoTeamBalance now checks to see what the scores are of the team that needs player(s) and based on the result
    		sends a player of a low/high-ranking value to the other team. If the team in need of players is the survivor team, any
    		infected players currently controlling a tank will not be applicable for transfer.
    	-	Corrected a curious bug which would continually spawn/kick bots (until the end of time) if a player timed out or disconnected
    		while connecting to the server.
    	-	Corrected a bug that sometimes placed players in spectator instead of on their correct team when a new map loaded.
    	-	Corrected a bug that sometimes placed players in spectator instead of onto a team when a smart team scramble occurred.
    	-	Corrected a bug where survivor bots would not be removed, regardless of the server settings, in versus games.
    	-	Corrected a few other bugs and made a few other changes that I can't remember.
    
    v2.1.5
    	-	Corrected a long-standing issue where the extra survivor bot spawned on map load wasn't always removed when ready up starts.
    	-	Survivor bots are now displayed in the teams panel, denoted by (b)
    	-	Survivors who are switched to spectator because they are idle will now properly trigger the survivor bot check.
    	
    v2.1.4
    	-	Added the eavesdrop module:
    		!eavesdrop <name> | <all>
    		Opens a listening channel with the target player and displays it to you when you open the channel. If <all> is used, it suppresses the message
    		to negate spam. Listen channels are closed when the round ends and the feature can be used only by admins. Use the command to toggle
    		eavesdrop on/off.
    
    
    v2.1.3
    	-	Added support for requiring a minimum number of survivor players, where survivor bots will make the difference if not enough human players.
    		This can be set to require at least one human player on either the survivor or infected team for survivor bots to be created. This is useful
    		for server owners who do not want survivor bots active if there are no human players in the game, to prevent map progression in empty
    		servers.
    		Bold values are the default values
    		teammanager_survivorbots_requirehumans			0/1		If set to 1, survivor bots won't fill the remaining required survivor
    											slots if there are no human players in non-spectator slots.
    		teammanager_survivorbots_playersrequired		0/4		The minimum players required on the survivor team at all times.
    											This is enforced if requirehumans is 0.
    
    v2.1.2
    	-	Added support for team auto-balance. Occurs when all clients have loaded on maps not eligible for scramble, and when a player disconnects.
    		Teams are eligible for auto balance if anyteam + 1 > otherteam.
    		teammanager_survivorbots_kickondisconnect added to dictate whether a disconnecting players' survivor bot is kicked, and a new bot is
    		created if a player is pushed to the survivor team. If enabled, this occurs, otherwise if a player is pushed to the survivor team, they take
    		control of the existing bot whether it's alive or dead.
    This plugin requires Left 4 Downtown 2 (No Playerslots), L4DToolZ, SDKHooks, L4D2 Direct, and Ready Up 2.1. A database is also required; the prefix can be found in the included databases.cfg file.
    Please make sure to read the included readme.first file. <- Very important!!
    I have included a set of sample server config files to show server owners how I set my configs up to work with team manager.

    If you wish to unlock the maximum specials that can be spawned by the director, use the additional compressed file.
    Attached Files
    File Type: zip left4dead2_dlc1.zip (4.5 KB, 346 views)
    File Type: zip SampleConfig.zip (8.3 KB, 333 views)
    File Type: zip tm2.3.4c.zip (93.3 KB, 249 views)

    Last edited by Skyy; 08-31-2013 at 10:55. Reason: added parser.sp
    Skyy is offline
    hsulace
    Junior Member
    Join Date: Jan 2013
    Old 02-09-2013 , 06:18   Re: [ L4D2 ] Team Manager 2.1
    Reply With Quote #2

    Could you explain a little bit more about the " dynamic slot management, a superversus/multislots replacement" features?
    hsulace is offline
    Skyy
    BANNED
    Join Date: Jan 2010
    Location: void()
    Old 02-09-2013 , 09:09   Re: [ L4D2 ] Team Manager 2.1
    Reply With Quote #3

    the post above pretty much describes those features. if you are having trouble understanding, just tell me what you are confused about and i will try to clarify. if you run superversus or bebop or multislots you would need to remove them to use this plugin.

    Last edited by Skyy; 02-09-2013 at 09:10.
    Skyy is offline
    monkman
    Senior Member
    Join Date: Jul 2007
    Location: Killadelphia
    Old 02-09-2013 , 14:10   Re: [ L4D2 ] Team Manager 2.1
    Reply With Quote #4

    I get this error in the logs:

    L 02/09/2013 - 19:04:25: [teammanager.smx] Unable to connect to database: [2002]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

    Does this have to do with the stats? If so how can I disable them. I already have gameME stats on there.

    Last edited by monkman; 02-09-2013 at 14:32.
    monkman is offline
    hsulace
    Junior Member
    Join Date: Jan 2013
    Old 02-09-2013 , 15:15   Re: [ L4D2 ] Team Manager 2.1
    Reply With Quote #5

    Pretty much wondering if I would have to configure anything or would the dynamic slot management just bump up my slots when needed, or I'd have to expand manually. Like, would I need to set it at 8 players max and then the plugin would work with that, or would it expand it to 8 players automatically?

    And was wondering about the multislots feature, does it let you play 8v8s? Or 8 player co-op? (Provided you install the dependencies).
    hsulace is offline
    Mess With The Best
    BANNED
    Join Date: Jan 2013
    Old 02-09-2013 , 15:25   Re: [ L4D2 ] Team Manager 2.1
    Reply With Quote #6

    I'm getting this error when complied

    Code:
    //SourceMod Batch Compiler
    // by the SourceMod Dev Team
    
    
    //// teammanager.sp
    // E:\Left 4 Dead 2\left4dead2\left4dead2\addons\sourcemod\scripting
    .sp(941) : error 017: undefined symbol "L4D2Direct_GetFlowDistance"
    Latest Version of SM and Metamod, ReadyUp, L4D2_direct, left4downtown2, Snapshots 1.5 and SKDHooks 2.2 have been installed.

    EDITED: This might be a fix to it. Add this to l4d2_direct.inc

    Code:
    stock Float:L4D2Direct_GetFlowDistance(client)
    {
    	static Handle:GetFlowDistanceSDKCall = INVALID_HANDLE;
    
    	if (GetFlowDistanceSDKCall == INVALID_HANDLE)
    	{
    		StartPrepSDKCall(SDKCall_Player);
    		
    		if (!PrepSDKCall_SetFromConf(L4D2Direct_GetGameConf(), SDKConf_Signature, "CTerrorPlayer::GetFlowDistance"))
    		{
    			return 0.0;
    		}
    		
    		PrepSDKCall_AddParameter(SDKType_PlainOldData, SDKPass_Plain);
    		PrepSDKCall_SetReturnInfo(SDKType_Float, SDKPass_Plain);
    		GetFlowDistanceSDKCall = EndPrepSDKCall();
    		
    		if (GetFlowDistanceSDKCall == INVALID_HANDLE)
    		{
    			return 0.0;
    		}
    	}
    
    	return Float:SDKCall(GetFlowDistanceSDKCall, client, 0);
    }

    Last edited by Mess With The Best; 02-09-2013 at 16:06.
    Mess With The Best is offline
    monkman
    Senior Member
    Join Date: Jul 2007
    Location: Killadelphia
    Old 02-09-2013 , 19:00   Re: [ L4D2 ] Team Manager 2.1
    Reply With Quote #7

    Quote:
    Originally Posted by Mess With The Best View Post
    I'm getting this error when complied

    Code:
    //SourceMod Batch Compiler
    // by the SourceMod Dev Team
    
    
    //// teammanager.sp
    // E:\Left 4 Dead 2\left4dead2\left4dead2\addons\sourcemod\scripting
    .sp(941) : error 017: undefined symbol "L4D2Direct_GetFlowDistance"
    Latest Version of SM and Metamod, ReadyUp, L4D2_direct, left4downtown2, Snapshots 1.5 and SKDHooks 2.2 have been installed.

    EDITED: This might be a fix to it. Add this to l4d2_direct.inc

    Code:
    stock Float:L4D2Direct_GetFlowDistance(client)
    {
    	static Handle:GetFlowDistanceSDKCall = INVALID_HANDLE;
    
    	if (GetFlowDistanceSDKCall == INVALID_HANDLE)
    	{
    		StartPrepSDKCall(SDKCall_Player);
    		
    		if (!PrepSDKCall_SetFromConf(L4D2Direct_GetGameConf(), SDKConf_Signature, "CTerrorPlayer::GetFlowDistance"))
    		{
    			return 0.0;
    		}
    		
    		PrepSDKCall_AddParameter(SDKType_PlainOldData, SDKPass_Plain);
    		PrepSDKCall_SetReturnInfo(SDKType_Float, SDKPass_Plain);
    		GetFlowDistanceSDKCall = EndPrepSDKCall();
    		
    		if (GetFlowDistanceSDKCall == INVALID_HANDLE)
    		{
    			return 0.0;
    		}
    	}
    
    	return Float:SDKCall(GetFlowDistanceSDKCall, client, 0);
    }
    There is a compiled smx in the scritping/compiled folder.
    monkman is offline
    eric0279
    SourceMod Donor
    Join Date: May 2007
    Old 02-09-2013 , 19:44   Re: [ L4D2 ] Team Manager 2.1
    Reply With Quote #8

    for me (for testing) :

    Latest Version of SM (Snapshot) and Metamod, ReadyUp, L4D2_direct, left4downtown2, Snapshots 1.5 and SKDHooks 2.2 have been installed.

    Quote:
    //SourceMod Batch Compiler
    // by the SourceMod Dev Team


    //// teammanager.sp
    // F:\L4D2\tm2.1\scripting\teammanager.sp(949) : error 017: undefined symbol "L4
    D2Direct_GetFlowDistance"
    // F:\L4D2\tm2.1\scripting\teammanager.sp(7) : warning 203: symbol is never used
    : "LastPosition"
    // F:\L4D2\tm2.1\scripting\teammanager.sp(105) : warning 204: symbol is assigned
    a value that is never used: "g_AntirushDistance"
    //
    // 1 Error.
    //
    // Compilation Time: 0,77 sec
    // ----------------------------------------

    Press enter to exit ...

    It's normal : g_sGameConf = LoadGameConfigFile("skyrpg_v3"); ?
    __________________

    Last edited by eric0279; 02-09-2013 at 19:50.
    eric0279 is offline
    johnng0102
    Member
    Join Date: Jun 2012
    Location: HK
    Old 02-09-2013 , 23:25   Re: [ L4D2 ] Team Manager 2.1
    Reply With Quote #9

    my status is


    Load Errors:
    Teams Manager: Error detected in plugin startup (see error logs)

    L 02/10/2013 - 12:18:23: SourceMod error session started
    L 02/10/2013 - 12:18:23: Info (map "c1m2_streets") (file "errors_20130210.log")
    L 02/10/2013 - 12:18:23: Server language was set to bad language "zho" -- reverting to English
    L 02/10/2013 - 12:18:25: [SM] Native "CloseHandle" reported: Handle 0 is invalid (error 4)
    L 02/10/2013 - 12:18:25: [SM] Displaying call stack trace for plugin "teammanager.smx":
    L 02/10/2013 - 12:18:25: [SM] [0] Line 184, F:\sky-plugins\teammanager\scripting\teammanager.sp: :OnPluginStart()
    L 02/10/2013 - 12:18:25: [admin-flatfile.smx] Error(s) detected parsing addons\sourcemod\configs\admins.cfg
    L 02/10/2013 - 12:18:25: [admin-flatfile.smx] (line 37) A property was declared outside of a section
    L 02/10/2013 - 12:184: [LEFT4DOWNTOWN] PlayerSlots -- Offset for 'ValveRejectServerFullFirst' is incorrect

    ps superversus or bebop or multislots removed them.
    johnng0102 is offline
    Skyy
    BANNED
    Join Date: Jan 2010
    Location: void()
    Old 02-10-2013 , 04:20   Re: [ L4D2 ] Team Manager 2.1
    Reply With Quote #10

    Hi everyone, just a quickie here:

    I've answered all of the posts people have made in one long one, below. If you're having trouble compiling, please note that there is a copy of the binary in the compressed folder. You don't need to be compiling the plugin yourself to use it, and for sanity purposes, I won't be assisting people in trouble-shooting that is related to compiling the plugin.
    At the time of this posting, I've uploaded v2.1.1 of the file and it has replaced the compressed folder in the original thread post. If you're using a version posted prior to this one, you'll need to download it. This corrects a few simple issues that I've found while playing on my server. I've also recorded server uptimes of around one day; No more, since I have scripts set up to reboot the server daily, so I can stand firmly behind my word that this plugin and its features are crash-free.
    If you do find a bug related to using the compiled (binary) that is included with the file (and not one you compiled yourself, whether modified or not) please post the line number of the module on this thread and I'll do my best to assist you. I will know if it's a modified version based on this information, so be warned that tomfoolery will result in my blocking you.
    A user emailed me asking why the wrap.inc is different for Team Manager than the wrap.inc for Ready Up. I save my plugins to their own development folders, and use different versions of the same files. If you plan on hosting them both in the same directory for private development purposes, you'll have to manually go through both of them and merge the two versions, since they may contain unique functions not found in the other - I will not do this for you.
    This plugin does require lfdt2. Lfdt2 can also be used in conjunction with l4dtoolz; Psim has been kind enough to host both the playerslots and non-playerslots versions of the extension on its page on this site for a while now.

    Quote:
    Originally Posted by monkman View Post
    I get this error in the logs:

    L 02/09/2013 - 19:04:25: [teammanager.smx] Unable to connect to database: [2002]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

    Does this have to do with the stats? If so how can I disable them. I already have gameME stats on there.
    I hastily threw together the thread with the intention to going back and adding more information, which I admittedly forgot to do. This plugin requires a database, which is why there is a configs/databases.cfg included in the file. You'll need to set one up and fill out the appropriate information in your databases.cfg. Please use the config in your server and do not overwrite it with the one in the file, as the config in the file is just so you can see how to set it up on your server's databases.cfg.

    Yes, it has to do with the stats, and no you can't disable them. They don't interfere with hlstatsx (which is the same as GameME) because these stats are directly associated with collecting information on the players in order to best determine, when it comes to versus, which team each player should be on, assuming scrambles are turned on. If you're running a coop-only server, they're really just there for aesthetics. But, truthfully, hlstatsx/GameME are not designed to properly calculate a players "ranking" in relation to the type of stats one would use to collect said information in lfd, so I can pretty firmly stand by and say that the stats this plugin collects more accurately represents a players skill in this game, but determining skill or ranking based on fluctuating stats is a pretty difficult form of analysis to begin with.


    Quote:
    Originally Posted by hsulace View Post
    Pretty much wondering if I would have to configure anything or would the dynamic slot management just bump up my slots when needed, or I'd have to expand manually. Like, would I need to set it at 8 players max and then the plugin would work with that, or would it expand it to 8 players automatically?

    And was wondering about the multislots feature, does it let you play 8v8s? Or 8 player co-op? (Provided you install the dependencies).
    I will explain this in detail since a few people have now asked about it.
    This is the general formula for slot management:

    Slot size: (Total Slots - Reserve slots + Spectator Count) <--- You set Reserve slots and total slots in the config file (for teammanager, not server.cfg)
    If automatic team size is set: Teams sizes are the above formula / 2. In the case of coop, it's simply what the above formula comes out to be.

    This means if I want 8 players per team, and 1 reserve slot, I set the total slots to 17, reserve slots to 1. It'll set each team to 8 players, or 16 survivors if running coop.

    If automatic team size is not set: Team limits = whatever you set the survivor and infected limit to in the config. If you set the combined totals above whatever your max slots - reserve slots count is, the plugin won't acknowledge that you're an idiot and fix it, so please use basic math skills when totalling your team limits if you go this route. This type was created so I could assign the infected team to have slots even in coop, since skyrpg3 makes use of those slots.


    The slots are dynamic because maxclients is changed to reflect the following formula:

    Total Slots + Spectators; If I have my total slots set to 17 (for 1 reserve slot and 8vs If there are two spectators, it'll show as 19 to anyone who views it. It checks and makes changes every second, and the changes are remembered when the map ends, so no players are dropped who were connected due to a slot change. Most server hosts (like NFO) provide you with as many slots as you want (up to 32) for lfd2 for a single price.


    I say it's a replacement to superversus, bebop, multislots, and every other plugin that does what those plugins do, because it performs the same functionality that those plugins do, but better and without bugs. When a player is placed on the survivor team, a bot is created for them. Depending on how far through the map and which gametype is running, the bot will either be dead or the player will take control of a live bot. You don't have to deal with those damn pesky bots.


    Quote:
    Originally Posted by Mess With The Best View Post
    I'm getting this error when complied

    Code:
    //SourceMod Batch Compiler
    // by the SourceMod Dev Team
    
    
    //// teammanager.sp
    // E:\Left 4 Dead 2\left4dead2\left4dead2\addons\sourcemod\scripting
    .sp(941) : error 017: undefined symbol "L4D2Direct_GetFlowDistance"
    You should edit your post; you were not using the latest version of L4D2Direct if it didn't include the L4D2Direct_GetFlowDistance function. In fact, you were using a version several weeks old.
    The latest repo build shows it was pushed 14 days a go at the time of this response, which includes the function.


    Quote:
    Originally Posted by eric0279 View Post
    for me (for testing) :

    Latest Version of SM (Snapshot) and Metamod, ReadyUp, L4D2_direct, left4downtown2, Snapshots 1.5 and SKDHooks 2.2 have been installed.

    It's normal : g_sGameConf = LoadGameConfigFile("skyrpg_v3"); ?
    See the post "Mess With The Best" made above (you are not using the latest version of l4d2direct); I don't include include files for other peoples work.
    Yes, it uses skyrpg_v3 's gamedata file, which is included in the /gamedata/ directory.


    Quote:
    Originally Posted by johnng0102 View Post
    my status is


    Load Errors:
    Teams Manager: Error detected in plugin startup (see error logs)

    L 02/10/2013 - 12:18:23: SourceMod error session started
    L 02/10/2013 - 12:18:23: Info (map "c1m2_streets") (file "errors_20130210.log")
    L 02/10/2013 - 12:18:23: Server language was set to bad language "zho" -- reverting to English
    L 02/10/2013 - 12:18:25: [SM] Native "CloseHandle" reported: Handle 0 is invalid (error 4)
    L 02/10/2013 - 12:18:25: [SM] Displaying call stack trace for plugin "teammanager.smx":
    L 02/10/2013 - 12:18:25: [SM] [0] Line 184, F:\sky-plugins\teammanager\scripting\teammanager.sp: :OnPluginStart()
    L 02/10/2013 - 12:18:25: [admin-flatfile.smx] Error(s) detected parsing addons\sourcemod\configs\admins.cfg
    L 02/10/2013 - 12:18:25: [admin-flatfile.smx] (line 37) A property was declared outside of a section
    L 02/10/2013 - 12:184: [LEFT4DOWNTOWN] PlayerSlots -- Offset for 'ValveRejectServerFullFirst' is incorrect

    ps superversus or bebop or multislots removed them.
    This is no longer valid, as I've uploaded a new version of the file prior to posting this response.

    Last edited by Skyy; 02-10-2013 at 11:14.
    Skyy is offline
    Reply


    Thread Tools
    Display Modes

    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 03:08.


    Powered by vBulletin®
    Copyright ©2000 - 2015, vBulletin Solutions, Inc.
    Theme made by Freecode