I fixed it. It was a problem with something new they introduced in the sound-system that required
<!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec--><soundinfo>sound/NS2.soundinfo</soundinfo><!--QuoteEnd--></div><!--QuoteEEnd--> to be present in the Game_Setup.xml. This isn't inherited from ns2's standard game_setup.xml, which was a problem for the now 6-month old Game_Setup.xml GmOvrmind uses. I've updated it, and you can fetch it <a href="http://dl.dropbox.com/u/38570801/Game_Setup.xml" target="_blank">here</a>. Just overwrite GmOvrmind's standard Game_Setup.xml (in the root-directory, "NS2GmOvrmind/Game_Setup.xml") with this one, and the problems should go away. I've also updated the complete-package for people who are doing a fresh install, so they will get the new version by default. I've kept the version number at v10, as technically this isn't really a problem in GmOvrmind, and a recompilation was not required. ------------------------------
+1 to including it in the actual game code enough servers use it that it should be standard. would be nice for the playtesters to have this on the test servers so they can see if anything has broken it also.
i am surprised that uwe has not contacted you about this atleast for this reason.
Everything I'm doing I'm integrating into this mod, it's just that much easier, saves code-recycling, and automatically guarantees a large audience. So in due time this baby will be absolutely huge (the current code-base is quite significant already, on a complete different level from v10). In terms of tasty features, most of these I've already alluded to in v10 (in the config-files):
<ul><li>Everything from v10</li><li>User & Ban storage to a file on the disk</li><li>User & Ban storage on a (remote) MySQL-database</li><li>Proper RCon-support</li><li>Built-in IRC-bot (this one may not make it in time for v11)</li><li>Logging to the disk (seperate from what Spark does)</li><li>A very advanced logging-system in general (the level of verbosity is frightening, it will be very useful for debugging\modding in particular)</li><li>A connection-router for clients that try to connect through the query-responder (allows for people to connect using for example HLSW, or steam://connect)</li></ul> But of course the bulk of the work went into the gamestate-recorder, in fact most of the infrastructure of the new GmOvrmind is designed around it. The results are very nice indeed. I will make a post about it when it's in a more finished state and I can give some raw numbers (CPU-usage\demo-filesize), but suffice it to say it will be a very good day for the competitive community indeed (and a godsend for NS2HD I would imagine).
endarJoin Date: 2010-07-27Member: 73256Members, Squad Five Blue
Bad timing on my part, I updated my own server just before build 188, so I'm not sure which was the culprit. Is GM ovrmind working for anyone else? I can't do om_players om_killserver, however I can play ping pong.
I dont know why, but i have to write "om_login" now everytime i join my server - i didnt have to do this last version... (I was always logged in automatically since it knows my steam id)
So i also thought om_players etc doesnt work anymore before i found this out.
It's as Koruyo said, for some reason it no longer picks up users automatically, an "om_login" needs to be executed first. I'm pretty sure it should at least tell you the om_players-command is beyond your privilige-level too, but apparently it doesn't do that either anymore. Have to admit I can't be arsed to debug these issues at this point, as I'm directing all of my time into getting the new version in working order. Let's hope I'm able to do that before v10 falls apart completely, I just need it to last another 2 months I'm guesstimating.
For the benefit of folks whom skim over text: <b><!--sizeo:6--><span style="font-size:24pt;line-height:100%"><!--/sizeo-->Run "om_login" in the console upon joining the server<!--sizec--></span><!--/sizec--></b>
It only seems that way. There currently is no method to send a message to a specific player, so instead GmOvrmind fakes a chat-message to only that player, so it may seem it has been outputted to everybody through allchat, but actually it's just you who recieved it.
Unless other people actually reported they could read what you were doing, that certainly is not intended, and would be a bug.
A new snippet of info on the new version: I have finally managed for the query-responder to replace Spark's fully. As you may know GmOvrmind has it's own query-responder (the thing that is used to retrieve general server-information, eg. name\slots\bots\version et cetera), but when first introduced I was unable to get it to run in-place of NS2's version, which was what I originally intended. As a result many of the benefits of this new query-responder could not be reaped (in fact currently it is only really used by Plasma's dev-tracker).
But that is now history, as I've finally managed to do it. This means that whenever you browse the ingame-serverlist, you will see what GmOvrmind is broadcasting instead of Spark (applicable only to the servers actually using GmOvrmind of course).
This allows, amongst other things, the following: <ul><li>Proper reserved-slots that are fully hidden (18-slot server with 2 reserved-slots will show up as a 16-slot server)</li><li>Displays the correct bot-count</li><li>Displays the correct version (NS2-build)</li><li>Replies faster, whereas Spark tended to introduce an additional 30ms latency</li><li>Full-access to the many rules, chiefly among them the real-time tickrate</li><li>Relaying of client-connections, which opens up a host of new abilities (being able to display the IPs of clients in om_players, being able to ban by IP and being able to measure the exact bandwidth usage of every individual client).</li></ul> When I say Spark I actually mean SteamWorks more or less, as that is what Spark is using.
[EDIT] Forgot to mention, it is also directly connectable, which means that things like steam://connect will work on it, and it will probably also function correctly in the steam-browser.
endarJoin Date: 2010-07-27Member: 73256Members, Squad Five Blue
I know that the above is more in relation to the query responder you've built, so this might not be related. But do you have a better way of determining ping? Currently the scoreboard makes up stories.
Very related actually, as with relaying client-connections comes the ability to do deep packet-inspection. As it stands though, working just from the server-side, it's a bit tricky to figure out the ping outside of Spark. Reverse-engineering the netcode would be a way (eg. find out when the server sends a ping, and measure the time it takes for a client to respond).
When auto-downloading is put in you could also have the server send a prepared message and make the client respond to measure the netcode+logic-latency. Maybe something like this is already possible in the present build, I should have a look.
But I think it's best for the devs (McGuire probably, as not only the scoreboard but net_stats also outputs a bull###### ping, so it's probably engine-related) to solve this one, shouldn't be a hard fix. I guess by the time the new (GameOvermind) version is completed it may just be solved already.
I've almost arrived at a feature-freeze, at which point I'll update the topic-start as well as post a comprehensive list of all the features (old and new). As for the release-date, I'm thinking february at this point, but it's hard to tell (it always is with software-development, every product is unique).
i know this may be a personal question but have uwe asked you at all about adding this permanently to the ns2 code base? i would be really surprized if the answer is no. or that you are working with them to get this to function correctly?
No it wasn't asked as such, but there are several good reasons for that, chief amongst them are that this mod isn't really Lua. When Server-to-Client synchronization is put in I'm sure I'll do some more features in Lua-script for that occasion, but as it stands it is virtually completely written in C++, and it will remain that way in the future. The reason this is an issue is because (I believe) NS2 was built with a moddable open-source Lua-script mantra in mind, and GameOvermind goes against that in large ways.
But truth be told I wouldn't have it any other way. Once it becomes a part of the official package, a mod loses a lot of its freedom (in terms of script having to be thoroughly checked\approved, not being able to easily modify certain things without some kind of collaboration with the rest of the scripters\dev-team). Things go more slowly\regulated in a professional environment, and with good reason.
Whilst I can simply code some spiffy new feature and throw it over the wall for you to try, and it's that freedom\casual-attitude I'm very comfortable with and allows for excellent productivity. I'll admit the downside here is that I may run into areas I can't get past without UWE's assistance, but I've been able to work around these issues so far (with increasingly creative\hack-ish approaches).
I'm thinking late-february maybe. I'll postpone the IRC-bot to another version as it'll take too long otherwise, and it's not as if many server-operators are keen on that particular feature at this time. Don't think I won't delay v11 for as long as needed though, I demand it to be rock-solid (in terms of stability) before putting it out there, and this new version is complex and entrenches itself very deep into the game (compared to v10 and earlier) making it all the more difficult.
ScardyBobScardyBobJoin Date: 2009-11-25Member: 69528Forum Admins, Forum Moderators, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow
I was wondering if you could add some performance logging aspects? In particular, have OM write a log that includes a timestamp, playercount at that timestamp, and tickrate at that timestamp. I've been wanting to benchmark server performance for a while, but am not programming-savvy enough to have figured out how to do this already.
Have the player-count & tick-rate in the timestamp of every single log-line? That seems a bit of overkill, as GameOvermind easily does 50 to a 100 log-messages per second on an active server (guesstimation), and that number will probably go up a bit further as development progresses (I'm finding detailed logging to be very helpful).
Perhaps a log-line every n (configurable) seconds, that contains the player-count, tick-rate, entity-count, avg-effectcount, avg-soundcount? So you can filter the logs for those lines?
ScardyBobScardyBobJoin Date: 2009-11-25Member: 69528Forum Admins, Forum Moderators, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow
Yeah, not every log-message but maybe every sec (or frankly minute would be fine with me). Basically, I'm looking to get some server load measures (e.g. tickrate) that I can compare against CPU usage, RAM usage, and bandwidth. I want to do some server benchmarking to get some actual hard numbers about the hardware needed to run an X playercount server at Y entity load so we can do more than speculate based on anecdotes about needed server specs.
Comments
I fixed it. It was a problem with something new they introduced in the sound-system that required
<!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec--><soundinfo>sound/NS2.soundinfo</soundinfo><!--QuoteEnd--></div><!--QuoteEEnd-->
to be present in the Game_Setup.xml. This isn't inherited from ns2's standard game_setup.xml, which was a problem for the now 6-month old Game_Setup.xml GmOvrmind uses. I've updated it, and you can fetch it <a href="http://dl.dropbox.com/u/38570801/Game_Setup.xml" target="_blank">here</a>. Just overwrite GmOvrmind's standard Game_Setup.xml (in the root-directory, "NS2GmOvrmind/Game_Setup.xml") with this one, and the problems should go away. I've also updated the complete-package for people who are doing a fresh install, so they will get the new version by default. I've kept the version number at v10, as technically this isn't really a problem in GmOvrmind, and a recompilation was not required.
------------------------------
Go update your servers.
would be nice for the playtesters to have this on the test servers so they can see if anything has broken it also.
i am surprised that uwe has not contacted you about this atleast for this reason.
<ul><li>Everything from v10</li><li>User & Ban storage to a file on the disk</li><li>User & Ban storage on a (remote) MySQL-database</li><li>Proper RCon-support</li><li>Built-in IRC-bot (this one may not make it in time for v11)</li><li>Logging to the disk (seperate from what Spark does)</li><li>A very advanced logging-system in general (the level of verbosity is frightening, it will be very useful for debugging\modding in particular)</li><li>A connection-router for clients that try to connect through the query-responder (allows for people to connect using for example HLSW, or steam://connect)</li></ul>
But of course the bulk of the work went into the gamestate-recorder, in fact most of the infrastructure of the new GmOvrmind is designed around it. The results are very nice indeed. I will make a post about it when it's in a more finished state and I can give some raw numbers (CPU-usage\demo-filesize), but suffice it to say it will be a very good day for the competitive community indeed (and a godsend for NS2HD I would imagine).
also do you even look anything like dr. robotnick?
And I wish I looked like Ivo, that is one handsome gentleman.
from corpse bride lmfao
would be cool to see what you have in your change log so far even if it is not ready for release
So i also thought om_players etc doesnt work anymore before i found this out.
For the benefit of folks whom skim over text:
<b><!--sizeo:6--><span style="font-size:24pt;line-height:100%"><!--/sizeo-->Run "om_login" in the console upon joining the server<!--sizec--></span><!--/sizec--></b>
Unless other people actually reported they could read what you were doing, that certainly is not intended, and would be a bug.
But that is now history, as I've finally managed to do it. This means that whenever you browse the ingame-serverlist, you will see what GmOvrmind is broadcasting instead of Spark (applicable only to the servers actually using GmOvrmind of course).
This allows, amongst other things, the following:
<ul><li>Proper reserved-slots that are fully hidden (18-slot server with 2 reserved-slots will show up as a 16-slot server)</li><li>Displays the correct bot-count</li><li>Displays the correct version (NS2-build)</li><li>Replies faster, whereas Spark tended to introduce an additional 30ms latency</li><li>Full-access to the many rules, chiefly among them the real-time tickrate</li><li>Relaying of client-connections, which opens up a host of new abilities (being able to display the IPs of clients in om_players, being able to ban by IP and being able to measure the exact bandwidth usage of every individual client).</li></ul>
When I say Spark I actually mean SteamWorks more or less, as that is what Spark is using.
[EDIT]
Forgot to mention, it is also directly connectable, which means that things like steam://connect will work on it, and it will probably also function correctly in the steam-browser.
When auto-downloading is put in you could also have the server send a prepared message and make the client respond to measure the netcode+logic-latency. Maybe something like this is already possible in the present build, I should have a look.
But I think it's best for the devs (McGuire probably, as not only the scoreboard but net_stats also outputs a bull###### ping, so it's probably engine-related) to solve this one, shouldn't be a hard fix. I guess by the time the new (GameOvermind) version is completed it may just be solved already.
i would be really surprized if the answer is no.
or that you are working with them to get this to function correctly?
But truth be told I wouldn't have it any other way. Once it becomes a part of the official package, a mod loses a lot of its freedom (in terms of script having to be thoroughly checked\approved, not being able to easily modify certain things without some kind of collaboration with the rest of the scripters\dev-team). Things go more slowly\regulated in a professional environment, and with good reason.
Whilst I can simply code some spiffy new feature and throw it over the wall for you to try, and it's that freedom\casual-attitude I'm very comfortable with and allows for excellent productivity. I'll admit the downside here is that I may run into areas I can't get past without UWE's assistance, but I've been able to work around these issues so far (with increasingly creative\hack-ish approaches).
Perhaps a log-line every n (configurable) seconds, that contains the player-count, tick-rate, entity-count, avg-effectcount, avg-soundcount? So you can filter the logs for those lines?
Date: 01/12/12
Time: 14:38:22
--------------------------------------------------------------
Build 190
Starting Natural Selection 2 (using NS2-GmOvrmind(v10))
Connected to Steam servers
Error: Couldn't open file 'models/alien/shift/shift.model
Error: Couldn't open file 'models/alien/shift/shift.animation_graph
Error: Couldn't open file 'models/alien/cocoon/cocoon.model
Error: Couldn't open file 'models/marine/welder/welder.model
Error: Couldn't open file 'models/marine/welder/welder_view.model
Loading 'maps/ns2_summit.level'
Error: Couldn't open file 'models/props/refinery/refinery_fan_blade_01_big.animation_graph
Error: PhysX: Gu::ConvexMesh::loadConvexHull: convex hull init failed!
Error: PhysX: Error cooking body 0 of model models/props/summit/summit_welcomescreen_01.model