Technically it's all in place and ready to be used but I'm still waiting for Max&co to put in a Lua-function to get the server's name, as I need that information in order to differentiate which server is loading the configuration file at any given time. If you look closely you see the third parameter being "ns2_rockdown", which I was using as a temporary way to seperate different servers (this method requires each server to run a different map). Eventually it will simply become:<!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->NS2GmOvrmind.AddServer("Complete server-name","shorthand");<!--QuoteEnd--></div><!--QuoteEEnd--> So say we're talking about the ArmoryChamber-servers: <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->NS2GmOvrmind.AddServer("ArmoryChamber.net #1","Armory1"); NS2GmOvrmind.AddServer("ArmoryChamber.net #2","Armory2");<!--QuoteEnd--></div><!--QuoteEEnd--> Then the settings will look like: <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->NS2GmOvrmind.Server.SetReservedSlots(0); <- Default setting, applied to all servers NS2GmOvrmind["Armory1"].Server.SetReservedSlots(1); <- Server-specific setting, only applied to ArmoryChamber.net #1 NS2GmOvrmind["Armory2"].Server.SetReservedSlots(2); <- Server-specific setting, only applied to ArmoryChamber.net #2<!--QuoteEnd--></div><!--QuoteEEnd--> But like I said it's inoperable until a GetServerName()-method is available (I'll pester Max about it once more).
As for Mumble and TeamSpeak, those 2 are still heavily under construction and their modules aren't even in the public distribution (they're not active if that's what you think). When they're done though, they won't be enabled by default. RCon is enabled by default right now, and I think i'll turn that off too by default in the next version, for the sake of security.
v10 up, tested on B172. Hopefully they will stick to their 2-week patch-schedule from now on.
I should point out that for those who don't know, GmOvrmind works on any build (now and in the future), but only given that there are no fundamental changes to the NS2 Lua-script, which lately there have been (in the form of the new Lua binding-layer and upcoming optimizations). So there is the possibility that it will break with a new build.
McGlaspiewww.team156.comJoin Date: 2010-07-26Member: 73044Members, Super Administrators, Forum Admins, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Squad Five Gold, Reinforced - Onos, WC 2013 - Gold, Subnautica Playtester
It's a shame you're having trouble with the new changes player. I just wanted to say <b>Thank you</b> for making Ovrmind. It has become a necessity for running a server imo.
You have a good sense of timing, I was just about to start work on that. I hope to get it in next version, along with auto-balancing (a much needed feature right now, as I'm seeing far too many situations with skewed teams).
QuovatisTeam InversionJoin Date: 2010-01-26Member: 70321Members, NS2 Playtester, Squad Five Blue
How about a feature that auto-kicks any player with a ping of 0, which is always a player ghost? I've had games with 4-5 ghosts clogging the teams, which makes respawning a pain.
ScardyBobScardyBobJoin Date: 2009-11-25Member: 69528Forum Admins, Forum Moderators, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow
<!--quoteo(post=1841426:date=Apr 18 2011, 10:18 AM:name=player)--><div class='quotetop'>QUOTE (player @ Apr 18 2011, 10:18 AM) <a href="index.php?act=findpost&pid=1841426"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->You have a good sense of timing, I was just about to start work on that. I hope to get it in next version, along with auto-balancing (a much needed feature right now, as I'm seeing far too many situations with skewed teams).<!--QuoteEnd--></div><!--QuoteEEnd-->
By auto-balancing, do you mean based on skill or simply a team scramble? If its the former, might I suggest a system based on the following: 1. Player skill is measured by cumulative points achieved/number of matches or amount of playtime and stored in a database hlstatsx-style, but not visible to the public 2. This 'skill value' number is summed for each team 3. A player can only join the team with the lower total skill value regardless of player count Its not a perfect system, but it doesn't make the mistake of saying that a veteran NS1/NS2 player has the same skill value as a new player
If its the later, might I suggest a limited team scramble system. More specifically, it starts switching players from the larger to smaller team based on last player to join or player with the lowest point value on the larger team.
As you can tell, I've thought quite a bit about this because its a serious problem in all FPS/RTS hybrid games. In general, I think a 'good' balancing system should 1. Aim to balance teams both on the number and skill of players 2. Do so in a manner that minimizes disruption of individual players already on teams 3. Require little to no effort by the admins to initiate and balance in a fair manner
<!--quoteo(post=1841467:date=Apr 18 2011, 05:00 PM:name=Quovatis)--><div class='quotetop'>QUOTE (Quovatis @ Apr 18 2011, 05:00 PM) <a href="index.php?act=findpost&pid=1841467"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->How about a feature that auto-kicks any player with a ping of 0, which is always a player ghost? I've had games with 4-5 ghosts clogging the teams, which makes respawning a pain.<!--QuoteEnd--></div><!--QuoteEEnd-->
That won't work because kicking a player ghost crashes the server. Player could give you the technical details, but the moral of the story is that there is no viable workaround and UWE will have to solve the problem.
<!--quoteo(post=1841467:date=Apr 19 2011, 01:00 AM:name=Quovatis)--><div class='quotetop'>QUOTE (Quovatis @ Apr 19 2011, 01:00 AM) <a href="index.php?act=findpost&pid=1841467"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->How about a feature that auto-kicks any player with a ping of 0, which is always a player ghost? I've had games with 4-5 ghosts clogging the teams, which makes respawning a pain.<!--QuoteEnd--></div><!--QuoteEEnd--> Believe me if I could do anything about it, I would, but here's an excerpt of a post a page back explaining why I cannot: <!--QuoteBegin-'player'+--><div class='quotetop'>QUOTE ('player')</div><div class='quotemain'><!--QuoteEBegin-->As for kicking phantom-clients, you _might_ be able to do that _sometimes_. In the case where you certainly cannot is the one I described above (where the engine doesn't know the player anymore, but the Lua-VM does). This isn't a problem with GmOvrmind, but with the fact that the ClientDisconnect-method (which kicks players) does not have proper error-handling. Thus if a (to the engine) nonexistant player is passed into it, it will cause a cataclysmic crash in the engine. So needless to say I wouldn't risk trying it.<!--QuoteEnd--></div><!--QuoteEEnd--> On top of that a new breed of phantom-clients have come to be since B171 that spawn in by the dozens, so this really is an ongoing problem that needs a proper fix from the devs.
<!--QuoteBegin-'ScardyBob'+--><div class='quotetop'>QUOTE ('ScardyBob')</div><div class='quotemain'><!--QuoteEBegin-->By auto-balancing, do you mean based on skill or simply a team scramble? If its the former, might I suggest a system based on the following: 1. Player skill is measured by cumulative points achieved/number of matches or amount of playtime and stored in a database hlstatsx-style, but not visible to the public 2. This 'skill value' number is summed for each team 3. A player can only join the team with the lower total skill value regardless of player count Its not a perfect system, but it doesn't make the mistake of saying that a veteran NS1/NS2 player has the same skill value as a new player
If its the later, might I suggest a limited team scramble system. More specifically, it starts switching players from the larger to smaller team based on last player to join or player with the lowest point value on the larger team.
As you can tell, I've thought quite a bit about this because its a serious problem in all FPS/RTS hybrid games. In general, I think a 'good' balancing system should 1. Aim to balance teams both on the number and skill of players 2. Do so in a manner that minimizes disruption of individual players already on teams 3. Require little to no effort by the admins to initiate and balance in a fair manner<!--QuoteEnd--></div><!--QuoteEEnd-->
I wanted to start off with a balancer that looked strictly at player-numbers, as this in and of itself is tricky enough to do in NS. Just consider: - You can't really move commanders away from their team - If you really have to, alien-commanders are probably less important - High-level aliens also should be moved as little as possible (just imagine your early fade being moved away, that's quite harsh) - The personal-res should be redistributed among the remaining players - Key-units also should be handled with care (losing your only Lerk again is quite harsh) - Same story with the marines and their equipment and personal-res - The player having been moved into the new team might perhaps be granted some initial res, so he won't have to be grinding as skulk for the first half hour for example All things that have to be carefully thought out and tested in the field.
After that works well, hopefully NS2 is more feature-complete, so a definition of 'skill' can be made (right now what defines a skilled player isn't all that easy to tell, in a statistics kind-of-way).
Auto-balance worries me. It can really piss people off...I personally have never enjoyed playing as a Marine for example and would likely leave if I was plucked from my team and forced over. Not only that, but the intel I would bring would be damaging.
Would you have a way to compensate for the balance? Basically announce that the teams have <i>x</i> seconds to balance or something will go into effect to counter the team imbalance? Perhaps increase the resources/sec, damage or armor of the weak team? Not sure how much of that you can get into, though.
ScardyBobScardyBobJoin Date: 2009-11-25Member: 69528Forum Admins, Forum Moderators, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow
<!--quoteo(post=1841518:date=Apr 19 2011, 03:41 AM:name=player)--><div class='quotetop'>QUOTE (player @ Apr 19 2011, 03:41 AM) <a href="index.php?act=findpost&pid=1841518"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I wanted to start off with a balancer that looked strictly at player-numbers, as this in and of itself is tricky enough to do in NS. Just consider: - You can't really move commanders away from their team - If you really have to, alien-commanders are probably less important - High-level aliens also should be moved as little as possible (just imagine your early fade being moved away, that's quite harsh) - The personal-res should be redistributed among the remaining players - Key-units also should be handled with care (losing your only Lerk again is quite harsh) - Same story with the marines and their equipment and personal-res - The player having been moved into the new team might perhaps be granted some initial res, so he won't have to be grinding as skulk for the first half hour for example All things that have to be carefully thought out and tested in the field.
After that works well, hopefully NS2 is more feature-complete, so a definition of 'skill' can be made (right now what defines a skilled player isn't all that easy to tell, in a statistics kind-of-way).<!--QuoteEnd--></div><!--QuoteEEnd-->
I guess we are also talking about two different things that aren't mutually exclusive. You're talking about what to do if teams become player imbalanced because one team had too many crashes or rage quits. I'm talking more about how to prevent the purposeful 'skill' stacking of good players joining the side with other good players to stack against a team of (mostly) new players. They overlap but aren't technically the same.
One way of achieving what you're talking about is to move only players that are dead. The only issue is that if one team decides to ragequit/rr, because the match is pretty much lost (think aliens with no harvesters and not having 15 TRes), this type of auto-balance plugin would start uselessly switching players from the winning to losing team to little effect on the overall match. Maybe you could include a timer that doesn't do any auto-balancing after a match has gone on for 30 min?
<!--quoteo(post=1841581:date=Apr 19 2011, 09:07 PM:name=ScardyBob)--><div class='quotetop'>QUOTE (ScardyBob @ Apr 19 2011, 09:07 PM) <a href="index.php?act=findpost&pid=1841581"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I guess we are also talking about two different things that aren't mutually exclusive. You're talking about what to do if teams become player imbalanced because one team had too many crashes or rage quits. I'm talking more about how to prevent the purposeful 'skill' stacking of good players joining the side with other good players to stack against a team of (mostly) new players. They overlap but aren't technically the same.
One way of achieving what you're talking about is to move only players that are dead. The only issue is that if one team decides to ragequit/rr, because the match is pretty much lost (think aliens with no harvesters and not having 15 TRes), this type of auto-balance plugin would start uselessly switching players from the winning to losing team to little effect on the overall match. Maybe you could include a timer that doesn't do any auto-balancing after a match has gone on for 30 min?<!--QuoteEnd--></div><!--QuoteEEnd--> I'm talking about both kinds. I firstly wanted to implement playercount-inbalances as it's the easiest thing to do, and it can serve as a base on which to build the skill-based balancing (since skill-balancing _also_ needs to take into account things such as high-level aliens, commanders etc). I intend to have both kinds of balancing available (either separately, or at once).
Of course I will have it wait a little while for players to enter limbo to move into another team, but if that doesn't occur within a given (configurable) time-span, it'll have to be forced (and said rules will be applied). Your point about the time-limit is especially relevant for skill-balancing, as when a game draws near it's end it is only natural for one team to experience a strong climb in kills\score which would trigger it to move said players into the losing team leading to a kind of indefinite match where the mod keeps bouncing players around to keep the game going (which is an interesting side-effect, possibly have it as an option for casual servers?).
<!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->Auto-balance worries me. It can really piss people off...I personally have never enjoyed playing as a Marine for example and would likely leave if I was plucked from my team and forced over. Not only that, but the intel I would bring would be damaging.
Would you have a way to compensate for the balance? Basically announce that the teams have x seconds to balance or something will go into effect to counter the team imbalance? Perhaps increase the resources/sec, damage or armor of the weak team? Not sure how much of that you can get into, though.<!--QuoteEnd--></div><!--QuoteEEnd--> Hmm, tinkering with the balance to countereffect the playercount-inbalance is very difficult, and for a game as complex as NS2 I would say near impossible. For one it would simply not work for teams of a modest size (6v6, 7v7), as the loss of a unit in such a situation can be downright catastrophic (balance-wise), you just can't replace the only lerk on a team with a resource-perk for example, it just doesn't compare. For larger teams, say 14v14, it could be an acceptable form of balancing (although difficult still).
Sorry, but moving players while a game is running sucks, especially in a game like NS where it can take a while to secure a certain position. It's a slap in the face to any player to be moved like that, out of their team to the enemy. It can also lead to secrets (res count, tech status, etc..) to be transfered to the other team.
A proper balancing system measures the skill of players over time and then balances the game _before_ the game actually starts. If ppl rage, then thats bad but its no reason to switch players.
It does suck, but with NS2 the way it is right now (with a very thin player-base and low player-counts on servers) it might prove a necessary evil. Besides, I'm mostly in it for the technical challenge, so you'll probably see many kinds of balancing pop up, no doubt some to your liking, it's all at the server-operator's discretion anyway (optional being the keyword here). I will turn it off by default.
Maybe make the larger teams spawn times longer? With a message on the HUD stating XX team spawn time has been increased by %% until a player volunteers to move to YY team or a new player joins YY team......Will remain %% until teams are balanced.
Maybe 10% longer spawns for each unbalanced player count of more than one. so unbalanced by 2 players would be 10%, 3 players=20%, and so on.
If that could be done then i think it would solve the issue as it gives an incentive for someone to offer up a team switch.
That would solve losing a key player and causing a rage quit because of being moved against their will.
On a related note, I've been working on a plugin-system for GmOvrmind that will allow others to make use of it's features. Right now I'm creating an SDK for (amateur) C-programmers to write modules that load into GmOvrmind. This way they can write mods for NS2 in C without having to bother learning Lua or interacting with it through a binding-layer (which can be an incredible pain).
ScardyBobScardyBobJoin Date: 2009-11-25Member: 69528Forum Admins, Forum Moderators, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow
<!--quoteo(post=1841686:date=Apr 20 2011, 08:08 AM:name=player)--><div class='quotetop'>QUOTE (player @ Apr 20 2011, 08:08 AM) <a href="index.php?act=findpost&pid=1841686"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->On a related note, I've been working on a plugin-system for GmOvrmind that will allow others to make use of it's features. Right now I'm creating an SDK for (amateur) C-programmers to write modules that load into GmOvrmind. This way they can write mods for NS2 in C without having to bother learning Lua or interacting with it through a binding-layer (which can be an incredible pain).<!--QuoteEnd--></div><!--QuoteEEnd-->
Thank You for this! I'm not one for coding but i did manage to get my bots to use all available ammo then knives on DC's rather than welders in ns1. Yep I got tired of lame DC traps. I foresee lerk bite in the future although the animation for it would be skulk bite but at least it would be that stylish lerk hat we all wore one time or another in ns1.
Script Error: ...d\Configuration\NS2GmOvrmind_ServerConfiguration.lua:12: attemp t to call field 'AddUser' (a nil value) ...d\Configuration\NS2GmOvrmind_ServerConfiguration.lua:12 [C]:-1 [C]:-1 InitFunc [C]:-1 __init Lua\\NS2GmOvrmind_Server.lua:14 Lua\\NS2GmOvrmind_Server.lua:15
in NS2GmOvrmind_ServerConfiguration.lua i has write after :
As of the latest (few) versions "NS2GmOvrmind.AddUser" has changed into "NS2GmOvrmind.Users.Add". You would have probably seen this if you added your users in the NS2GmOvrmind_ServerConfiguration_Users.lua-file, where I recommend you always put your users (as all the documentation regarding those functions is located there). Also, you are passing a '0' at the end, which means that user will have no priviliges at all.
[EDIT] Also 2: if you're using Steam-IDs to configure admins, it's probably a good idea to not use the login\pass-system as well, as it's a bit of a relic from the pre-SteamID days. It's all there in the documentation (NS2GmOvrmind_ServerConfiguration_Users.lua).
Server console-commands are fed directly into the engine, you can't use any "om_"-commands there, "om_"-commands are generally ment for the ingame-console. You can add bots by using the game's default "addbot". Map-switching isn't possible with NS2 at this point, this is unrelated to GmOvrmind.
A little update regarding this mod: I've decided to discontinue working on it for the time being.
This is mainly because of my dissatisfaction with the progress of NS2 (in a technical sense, ea. performance and stability). I'm simply unsure this game will ever be properly completed, and have a succesful 1.0 release. On top of that, modding for this game is a bit of a chore right now. The fact that fundamental functions are missing (like retrieving the server-name, player-count et cetera, you've seen the work-arounds for it in the cfg-file), but especially because the game is changing continuesly, which has caused the mod internally to be a bit of a mess and a complete hack to remain in operation. You have to remember the code-base originated from NS2-G1xLCD, which was built for the first versions of the Alpha, and ment to be run client-side. So a complete rewrite is in order at this point, but like I said, I'm not willing to invest the time if I'm not certain the game will flourish.
I will be keeping an eye on NS2's progress to see if it at some point (in a couple of months perhaps) justifies coming back and rewriting this mod. In the mean time I will of course maintain the mod in it's current condition, meaning if a new NS2-build breaks it I'll put out a fix, but I won't be adding any new features\functionality.
endarJoin Date: 2010-07-27Member: 73256Members, Squad Five Blue
Sorry to hear that. I can't say im surprised by this though, the amount of work you appeared to be putting in (appeared because i dont personally know you) has been huge, and each time I modify my configs and see the amount of things you were planning to do it astounded me that one person could complete it. At current, the mod still works perfectly in its core functions (and most other), so don't let any server admins who see this message above about it being discontinued (temporarily) be put off by getting this mod, I would consider it essential to running a server, and I'm sure I'm not alone.
Thank you player, for allowing this mod to make the beta servers a more fun place to play.
<!--quoteo(post=1844492:date=May 6 2011, 04:21 PM:name=endar)--><div class='quotetop'>QUOTE (endar @ May 6 2011, 04:21 PM) <a href="index.php?act=findpost&pid=1844492"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Sorry to hear that. I can't say im surprised by this though, the amount of work you appeared to be putting in (appeared because i dont personally know you) has been huge, and each time I modify my configs and see the amount of things you were planning to do it astounded me that one person could complete it. At current, the mod still works perfectly in its core functions (and most other), so don't let any server admins who see this message above about it being discontinued (temporarily) be put off by getting this mod, I would consider it essential to running a server, and I'm sure I'm not alone.
Thank you player, for allowing this mod to make the beta servers a more fun place to play.<!--QuoteEnd--></div><!--QuoteEEnd-->
McGlaspiewww.team156.comJoin Date: 2010-07-26Member: 73044Members, Super Administrators, Forum Admins, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Squad Five Gold, Reinforced - Onos, WC 2013 - Gold, Subnautica Playtester
edited May 2011
<!--quoteo(post=1844492:date=May 6 2011, 11:21 AM:name=endar)--><div class='quotetop'>QUOTE (endar @ May 6 2011, 11:21 AM) <a href="index.php?act=findpost&pid=1844492"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Sorry to hear that. I can't say im surprised by this though, the amount of work you appeared to be putting in (appeared because i dont personally know you) has been huge, and each time I modify my configs and see the amount of things you were planning to do it astounded me that one person could complete it. At current, the mod still works perfectly in its core functions (and most other), so don't let any server admins who see this message above about it being discontinued (temporarily) be put off by getting this mod, I would consider it essential to running a server, and I'm sure I'm not alone.
Thank you player, for allowing this mod to make the beta servers a more fun place to play.<!--QuoteEnd--></div><!--QuoteEEnd--> I whole heartily agree. This mod has been indispensable and we've relied on it heavily for the Team 156 servers (US East/West). Regardless if this is done or not, thank you!
Comments
So say we're talking about the ArmoryChamber-servers:
<!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->NS2GmOvrmind.AddServer("ArmoryChamber.net #1","Armory1");
NS2GmOvrmind.AddServer("ArmoryChamber.net #2","Armory2");<!--QuoteEnd--></div><!--QuoteEEnd-->
Then the settings will look like:
<!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->NS2GmOvrmind.Server.SetReservedSlots(0); <- Default setting, applied to all servers
NS2GmOvrmind["Armory1"].Server.SetReservedSlots(1); <- Server-specific setting, only applied to ArmoryChamber.net #1
NS2GmOvrmind["Armory2"].Server.SetReservedSlots(2); <- Server-specific setting, only applied to ArmoryChamber.net #2<!--QuoteEnd--></div><!--QuoteEEnd-->
But like I said it's inoperable until a GetServerName()-method is available (I'll pester Max about it once more).
As for Mumble and TeamSpeak, those 2 are still heavily under construction and their modules aren't even in the public distribution (they're not active if that's what you think). When they're done though, they won't be enabled by default. RCon is enabled by default right now, and I think i'll turn that off too by default in the next version, for the sake of security.
It appears B172 breaks GmOvrmind, again...
I'll have a new version out later today as usual, I would advise taking GmOvrmind off until then because it outright crashes your server now.
We're really racking up the version-numbers this way.
I should point out that for those who don't know, GmOvrmind works on any build (now and in the future), but only given that there are no fundamental changes to the NS2 Lua-script, which lately there have been (in the form of the new Lua binding-layer and upcoming optimizations). So there is the possibility that it will break with a new build.
Did you ever get a chance to take a look at the idea of "restoring" a players stats/res after a disconnect/reconnect?
By auto-balancing, do you mean based on skill or simply a team scramble? If its the former, might I suggest a system based on the following:
1. Player skill is measured by cumulative points achieved/number of matches or amount of playtime and stored in a database hlstatsx-style, but not visible to the public
2. This 'skill value' number is summed for each team
3. A player can only join the team with the lower total skill value regardless of player count
Its not a perfect system, but it doesn't make the mistake of saying that a veteran NS1/NS2 player has the same skill value as a new player
If its the later, might I suggest a limited team scramble system. More specifically, it starts switching players from the larger to smaller team based on last player to join or player with the lowest point value on the larger team.
As you can tell, I've thought quite a bit about this because its a serious problem in all FPS/RTS hybrid games. In general, I think a 'good' balancing system should
1. Aim to balance teams both on the number and skill of players
2. Do so in a manner that minimizes disruption of individual players already on teams
3. Require little to no effort by the admins to initiate and balance in a fair manner
<!--quoteo(post=1841467:date=Apr 18 2011, 05:00 PM:name=Quovatis)--><div class='quotetop'>QUOTE (Quovatis @ Apr 18 2011, 05:00 PM) <a href="index.php?act=findpost&pid=1841467"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->How about a feature that auto-kicks any player with a ping of 0, which is always a player ghost? I've had games with 4-5 ghosts clogging the teams, which makes respawning a pain.<!--QuoteEnd--></div><!--QuoteEEnd-->
That won't work because kicking a player ghost crashes the server. Player could give you the technical details, but the moral of the story is that there is no viable workaround and UWE will have to solve the problem.
Believe me if I could do anything about it, I would, but here's an excerpt of a post a page back explaining why I cannot:
<!--QuoteBegin-'player'+--><div class='quotetop'>QUOTE ('player')</div><div class='quotemain'><!--QuoteEBegin-->As for kicking phantom-clients, you _might_ be able to do that _sometimes_. In the case where you certainly cannot is the one I described above (where the engine doesn't know the player anymore, but the Lua-VM does). This isn't a problem with GmOvrmind, but with the fact that the ClientDisconnect-method (which kicks players) does not have proper error-handling. Thus if a (to the engine) nonexistant player is passed into it, it will cause a cataclysmic crash in the engine. So needless to say I wouldn't risk trying it.<!--QuoteEnd--></div><!--QuoteEEnd-->
On top of that a new breed of phantom-clients have come to be since B171 that spawn in by the dozens, so this really is an ongoing problem that needs a proper fix from the devs.
<!--QuoteBegin-'ScardyBob'+--><div class='quotetop'>QUOTE ('ScardyBob')</div><div class='quotemain'><!--QuoteEBegin-->By auto-balancing, do you mean based on skill or simply a team scramble? If its the former, might I suggest a system based on the following:
1. Player skill is measured by cumulative points achieved/number of matches or amount of playtime and stored in a database hlstatsx-style, but not visible to the public
2. This 'skill value' number is summed for each team
3. A player can only join the team with the lower total skill value regardless of player count
Its not a perfect system, but it doesn't make the mistake of saying that a veteran NS1/NS2 player has the same skill value as a new player
If its the later, might I suggest a limited team scramble system. More specifically, it starts switching players from the larger to smaller team based on last player to join or player with the lowest point value on the larger team.
As you can tell, I've thought quite a bit about this because its a serious problem in all FPS/RTS hybrid games. In general, I think a 'good' balancing system should
1. Aim to balance teams both on the number and skill of players
2. Do so in a manner that minimizes disruption of individual players already on teams
3. Require little to no effort by the admins to initiate and balance in a fair manner<!--QuoteEnd--></div><!--QuoteEEnd-->
I wanted to start off with a balancer that looked strictly at player-numbers, as this in and of itself is tricky enough to do in NS. Just consider:
- You can't really move commanders away from their team
- If you really have to, alien-commanders are probably less important
- High-level aliens also should be moved as little as possible (just imagine your early fade being moved away, that's quite harsh)
- The personal-res should be redistributed among the remaining players
- Key-units also should be handled with care (losing your only Lerk again is quite harsh)
- Same story with the marines and their equipment and personal-res
- The player having been moved into the new team might perhaps be granted some initial res, so he won't have to be grinding as skulk for the first half hour for example
All things that have to be carefully thought out and tested in the field.
After that works well, hopefully NS2 is more feature-complete, so a definition of 'skill' can be made (right now what defines a skilled player isn't all that easy to tell, in a statistics kind-of-way).
Would you have a way to compensate for the balance? Basically announce that the teams have <i>x</i> seconds to balance or something will go into effect to counter the team imbalance? Perhaps increase the resources/sec, damage or armor of the weak team? Not sure how much of that you can get into, though.
- You can't really move commanders away from their team
- If you really have to, alien-commanders are probably less important
- High-level aliens also should be moved as little as possible (just imagine your early fade being moved away, that's quite harsh)
- The personal-res should be redistributed among the remaining players
- Key-units also should be handled with care (losing your only Lerk again is quite harsh)
- Same story with the marines and their equipment and personal-res
- The player having been moved into the new team might perhaps be granted some initial res, so he won't have to be grinding as skulk for the first half hour for example
All things that have to be carefully thought out and tested in the field.
After that works well, hopefully NS2 is more feature-complete, so a definition of 'skill' can be made (right now what defines a skilled player isn't all that easy to tell, in a statistics kind-of-way).<!--QuoteEnd--></div><!--QuoteEEnd-->
I guess we are also talking about two different things that aren't mutually exclusive. You're talking about what to do if teams become player imbalanced because one team had too many crashes or rage quits. I'm talking more about how to prevent the purposeful 'skill' stacking of good players joining the side with other good players to stack against a team of (mostly) new players. They overlap but aren't technically the same.
One way of achieving what you're talking about is to move only players that are dead. The only issue is that if one team decides to ragequit/rr, because the match is pretty much lost (think aliens with no harvesters and not having 15 TRes), this type of auto-balance plugin would start uselessly switching players from the winning to losing team to little effect on the overall match. Maybe you could include a timer that doesn't do any auto-balancing after a match has gone on for 30 min?
One way of achieving what you're talking about is to move only players that are dead. The only issue is that if one team decides to ragequit/rr, because the match is pretty much lost (think aliens with no harvesters and not having 15 TRes), this type of auto-balance plugin would start uselessly switching players from the winning to losing team to little effect on the overall match. Maybe you could include a timer that doesn't do any auto-balancing after a match has gone on for 30 min?<!--QuoteEnd--></div><!--QuoteEEnd-->
I'm talking about both kinds. I firstly wanted to implement playercount-inbalances as it's the easiest thing to do, and it can serve as a base on which to build the skill-based balancing (since skill-balancing _also_ needs to take into account things such as high-level aliens, commanders etc). I intend to have both kinds of balancing available (either separately, or at once).
Of course I will have it wait a little while for players to enter limbo to move into another team, but if that doesn't occur within a given (configurable) time-span, it'll have to be forced (and said rules will be applied). Your point about the time-limit is especially relevant for skill-balancing, as when a game draws near it's end it is only natural for one team to experience a strong climb in kills\score which would trigger it to move said players into the losing team leading to a kind of indefinite match where the mod keeps bouncing players around to keep the game going (which is an interesting side-effect, possibly have it as an option for casual servers?).
<!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->Auto-balance worries me. It can really piss people off...I personally have never enjoyed playing as a Marine for example and would likely leave if I was plucked from my team and forced over. Not only that, but the intel I would bring would be damaging.
Would you have a way to compensate for the balance? Basically announce that the teams have x seconds to balance or something will go into effect to counter the team imbalance? Perhaps increase the resources/sec, damage or armor of the weak team? Not sure how much of that you can get into, though.<!--QuoteEnd--></div><!--QuoteEEnd-->
Hmm, tinkering with the balance to countereffect the playercount-inbalance is very difficult, and for a game as complex as NS2 I would say near impossible. For one it would simply not work for teams of a modest size (6v6, 7v7), as the loss of a unit in such a situation can be downright catastrophic (balance-wise), you just can't replace the only lerk on a team with a resource-perk for example, it just doesn't compare. For larger teams, say 14v14, it could be an acceptable form of balancing (although difficult still).
A proper balancing system measures the skill of players over time and then balances the game _before_ the game actually starts. If ppl rage, then thats bad but its no reason to switch players.
Maybe 10% longer spawns for each unbalanced player count of more than one. so unbalanced by 2 players would be 10%, 3 players=20%, and so on.
If that could be done then i think it would solve the issue as it gives an incentive for someone to offer up a team switch.
That would solve losing a key player and causing a rage quit because of being moved against their will.
Kind of like metamod?
I foresee lerk bite in the future although the animation for it would be skulk bite but at least it would be that stylish lerk hat we all wore one time or another in ns1.
Script Error: ...d\Configuration\NS2GmOvrmind_ServerConfiguration.lua:12: attemp
t to call field 'AddUser' (a nil value)
...d\Configuration\NS2GmOvrmind_ServerConfiguration.lua:12
[C]:-1
[C]:-1
InitFunc [C]:-1
__init Lua\\NS2GmOvrmind_Server.lua:14
Lua\\NS2GmOvrmind_Server.lua:15
in NS2GmOvrmind_ServerConfiguration.lua i has write after :
Script.Load("..\\NS2GmOvrmind\\Lua\\NS2GmOvrmind.lua"); -- NS2-GmOvrmind prerequisites
this :
NS2GmOvrmind.AddUser("[FR]PhY","","STEAM_0:1:76020","xxx","xxx",0);
[EDIT]
Also 2: if you're using Steam-IDs to configure admins, it's probably a good idea to not use the login\pass-system as well, as it's a bit of a relic from the pre-SteamID days. It's all there in the documentation (NS2GmOvrmind_ServerConfiguration_Users.lua).
I don't find the web administration, it will coming in a next version ?
Edit : sorry i find it :)
i clic on Execute, but nothing change.
The om command it's only in game ?
The server-console command it's for NS Command ? i try to change map by : map ns2_tram, but nothing change :-/
This is mainly because of my dissatisfaction with the progress of NS2 (in a technical sense, ea. performance and stability). I'm simply unsure this game will ever be properly completed, and have a succesful 1.0 release. On top of that, modding for this game is a bit of a chore right now. The fact that fundamental functions are missing (like retrieving the server-name, player-count et cetera, you've seen the work-arounds for it in the cfg-file), but especially because the game is changing continuesly, which has caused the mod internally to be a bit of a mess and a complete hack to remain in operation. You have to remember the code-base originated from NS2-G1xLCD, which was built for the first versions of the Alpha, and ment to be run client-side. So a complete rewrite is in order at this point, but like I said, I'm not willing to invest the time if I'm not certain the game will flourish.
I will be keeping an eye on NS2's progress to see if it at some point (in a couple of months perhaps) justifies coming back and rewriting this mod. In the mean time I will of course maintain the mod in it's current condition, meaning if a new NS2-build breaks it I'll put out a fix, but I won't be adding any new features\functionality.
Thank you player, for allowing this mod to make the beta servers a more fun place to play.
Thank you player, for allowing this mod to make the beta servers a more fun place to play.<!--QuoteEnd--></div><!--QuoteEEnd-->
+1
Thank you player, for allowing this mod to make the beta servers a more fun place to play.<!--QuoteEnd--></div><!--QuoteEEnd-->
I whole heartily agree. This mod has been indispensable and we've relied on it heavily for the Team 156 servers (US East/West). Regardless if this is done or not, thank you!