Rules FAQ Members List Search Register Login

 Raised This Month: $328 Target:$400 82%   Almost there!

Author
Skyy
AlliedModders Donor
Join Date: Jan 2010
Location: London, ON
 Plugin ID: 3517 Plugin Version: 2.3.4c Plugin Category: Server Management Plugin Game: Left 4 Dead Plugin Dependencies: Servers with this Plugin: Plugin Description: Deprecated; Please see http://forums.alliedmods.net/showthread.php?t=207929 instead. Unapprover: Dr. McKay Reason for Unapproving: Unsupported, succeeded by http://forums.alliedmods.net/showthread.php?t=207929
02-08-2013 , 11:25   [ L4D2 ] Team Manager 2.3.4c
#1

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
!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.
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
 left4dead2_dlc1.zip (4.5 KB, 391 views) SampleConfig.zip (8.3 KB, 378 views) tm2.3.4c.zip (93.3 KB, 300 views)
__________________

Last edited by RedSword; 09-08-2015 at 12:21. Reason: added parser.sp ; 09/08/2015 changing from "Ready for review" to "(none)"
hsulace
Junior Member
Join Date: Jan 2013
 02-09-2013 , 06:18   Re: [ L4D2 ] Team Manager 2.1 #2 Could you explain a little bit more about the " dynamic slot management, a superversus/multislots replacement" features?
Skyy
AlliedModders Donor
Join Date: Jan 2010
Location: London, ON
 02-09-2013 , 09:09   Re: [ L4D2 ] Team Manager 2.1 #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.
monkman
Senior Member
Join Date: Jul 2007
 02-09-2013 , 14:10   Re: [ L4D2 ] Team Manager 2.1 #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.
hsulace
Junior Member
Join Date: Jan 2013
 02-09-2013 , 15:15   Re: [ L4D2 ] Team Manager 2.1 #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).
Mess With The Best
BANNED
Join Date: Jan 2013
 02-09-2013 , 15:25   Re: [ L4D2 ] Team Manager 2.1 #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.
monkman
Senior Member
Join Date: Jul 2007
02-09-2013 , 19:00   Re: [ L4D2 ] Team Manager 2.1
#7

Quote:
 Originally Posted by Mess With The Best 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.
eric0279
AlliedModders Donor
Join Date: May 2007
02-09-2013 , 19:44   Re: [ L4D2 ] Team Manager 2.1
#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.
johnng0102
Member
Join Date: Jun 2012
Location: HK
 02-09-2013 , 23:25   Re: [ L4D2 ] Team Manager 2.1 #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.
Skyy
AlliedModders Donor
Join Date: Jan 2010
Location: London, ON
02-10-2013 , 04:20   Re: [ L4D2 ] Team Manager 2.1
#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 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 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 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 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 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.

 Thread Tools Display Modes Linear Mode

 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 Rules
 Forum Jump User Control Panel Private Messages Subscriptions Who's Online Search Forums Forums Home Server Discussion     Source Servers (SRCDS)     HL1 Servers (HLDS) AMX Mod X     News     Bug Reports     General     Off-Topic     Plugins         Suggestions / Requests         Approved Plugins         New Plugin Submissions         Plugins in Review         Unapproved/Old Plugins         Translation Request         High-Traffic Plugins             Request a Sub-Forum             GunGame             v3x's Plugins             GHW_Chronic's Scripts             SuperHero Mod                 News                 Bug Reports                 Tech Support                 Scripting Help                 Off-Topic / General Chat                 Heroes                     Suggestions / Requests                     Approved Heroes                     New Submissions                     Unapproved/Old Heroes                         Module Heroes                     SuperHero Mod Stats - By 123                 (OLD) Bug Reports                 Multilingual                     Superheromod :: Deutsch                     Superheromod :: Français             UAIO (Ultimate All-In-One Plugin)             xREDIRECT             GabenMod             CSDM             AMX Super             RuneMod             Zombie Plague Mod                 Help / Support                 Suggestions / Subplugin Requests                 Subplugin Submissions                 API Scripting Help                 Bug Reports     Scripting         Scripting Help         Code Snippets/Tutorials         Module Coding     Donor Access SourceMod     News     General     Plugins         Plugins         Unapproved Plugins         Plugin/Gameplay Ideas and Requests         High-Traffic Plugins             SourceMod Anti-Cheat             Zombie:Reloaded             SourceBans             VSH / Freak Fortress             Store             SM_Hosties             HLstatsX:CE     Scripting     Extensions     Snippets and Tutorials     Donor Access     Metamod: Source         Metamod:Source Plugins         Metamod:Source Questions         Coding MM:S Plugins & SM Extensions Hosted Stuff     Asherkin's Plugins         TF2Items         TFDodgeball         SteamTools     Bail's Plugins         CSDM         CS:S DM Off-Topic & Trash     Off-Topic     Trash

All times are GMT -4. The time now is 13:11.

 DMCA - Archive - Top