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.
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: : 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.
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.
Originally Posted by Mess With The Best
I'm getting this error when complied
//SourceMod Batch Compiler
// by the SourceMod Dev Team
// 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.
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.
Originally Posted by johnng0102
my status is
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]  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:18
4: [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.