Better NS2
<div class="IPBDescription">Tweaks and fixes to make NS2 better</div><!--sizeo:5--><span style="font-size:18pt;line-height:100%"><!--/sizeo--><a href="https://steamcommunity.com/sharedfiles/filedetails/?id=113116595" target="_blank">Better NS2</a><!--sizec--></span><!--/sizec-->
This is a server mod with tweaks and fixes to make NS2 better, one step at a time. Balance changes are beyond the scope of this mod.
I'm starting off carefully with minimal changes only, fixing the cloak speed exploit currently being the highlight. Though I don't plan for it to ever be too big or complex, and with UWEs continuous updates it shouldn't have to be, it will probably grow a bit over time.
<a href="https://steamcommunity.com/sharedfiles/filedetails/?id=113116595" target="_blank">Better NS2 Workshop page</a> (Mod ID: 6be05b3)
<a href="http://www.gameserverdirectory.com/search.php?q=&game=natural-selection-2&tags=better" target="_blank">Better NS2 servers</a>
This is a server mod with tweaks and fixes to make NS2 better, one step at a time. Balance changes are beyond the scope of this mod.
I'm starting off carefully with minimal changes only, fixing the cloak speed exploit currently being the highlight. Though I don't plan for it to ever be too big or complex, and with UWEs continuous updates it shouldn't have to be, it will probably grow a bit over time.
<a href="https://steamcommunity.com/sharedfiles/filedetails/?id=113116595" target="_blank">Better NS2 Workshop page</a> (Mod ID: 6be05b3)
<a href="http://www.gameserverdirectory.com/search.php?q=&game=natural-selection-2&tags=better" target="_blank">Better NS2 servers</a>
Comments
<b>* Patched exploit that allows aliens to move at full speed while cloaked.</b>
Motivation: Clearly not intended. On a side note, are lerks supposed to be able to glide while cloaked? That behavior is kept intact; I guess it would be completely useless for lerk if not.
<b>* Disabled celerity motion blur and wind tunnel effect.</b> (<a href="http://steamcommunity.com/sharedfiles/filedetails/?id=106845180" target="_blank">Screenshots (from my previous mod)</a>)
Motivation: There are many effects in the game, especially for aliens, and most work quite well. For example, regen, cloak, blink and gorge spit are all more or less intrusive but all have in common that they are used in short bursts. Not so with celerity. Once you have celerity, which is pretty popular to get early, it's quite likely you will be using it for the rest of the game and not in short activated bursts, but really <i>all the time</i>. That means a blurry screen and a whooshing sound <i>all the time</i>. It's also not the kind of ability that you gain anything from being informed that it's active, so it truly adds nothing but a headache to the table. If celerity was like marine running, which is an activated ability used in short bursts it could have worked but not like this.
<b>* Flashlight atmospherics toned down (when enabled). Marine flashlights now produce only half the haze of the Exo floodlight, instead of twice as much.</b>
Motivation: I've heard complaints about this mostly in-game but also on the forums and on a dev Q&A during which the answer was to turn off atmospherics. I don't believe that's good solution and neither does the players that keep the option on, since they keep complaining about being blinded yet not turning the option off. The bloom and atmospherics effects are very overdone (not only for the flashlight) but those that enjoy them still shouldn't have to suffer decreased visibility when teammates use their flashlight, that makes no sense at all. If you've tried FlashLite (mod by ######bagatron) it works just like it.
<b>* Rich infestation has been made somewhat less "bubbly" on walls so sightlines won't be reduced as heavily. This is make it more fair against players with rich infestation turned off though there's still a lot of room for improvement.</b>
Motivation: The rich infestation is gorgeous and the minimal is hideous... but due to how "bubbly" the rich infestation can be in tight corridors, around corners, around or all over vents as well as windows and grates you could otherwise see through, the minimal setting grants a more than decent advantage. It's also not synchronized between clients so even if forcing rich infestation some players may have blocked vent while others can see into it just fine.
The tweak is not strictly better I'm afraid. The rich infestation has been slightly changed not to be as "big" in an attempt to make it a bit more on par with minimal but still offer some eye candy. It's far from ideal though. As such there's somewhat less of it, though on the floor it should be the same amount as before. A much better solution would be to identify the spots at which sightlines are reduced and not make bubbly infestation (bonus points for removing minimal and syncing it between clients) there but that would be much more work that a simple tweak. I'm hoping UWE isn't finished with infestation effect and it would be very interesting to have it be a part of the gameplay (by being obligatory and synced for fairness).
<b>* Replaced "Following NSPlayer" with simply "NSPlayer" while spectating when waiting to spawn.</b>
Motivation: In my opinion a tiny bit more readable, looks a bit nicer, easier to quickly read when switching between targets and it's obvious enough what it is without the constant reminder. You could say, just a little bit better!
<b>* Trims special characters (such as newlines) from names.</b>
Motivation: I met a player with a name that rendered vertically, causing some disturbing effects, who complained that "NS2 is poorly coded". So I fixed it, just for him.
Known problems:
In rewriting the mod to hook NS2 code I gained a problem with consistency checking once I tested the mod on a server using the default settings. My client console prints "Error: Mod failed consistency checking and will be disabled ('lua/bns2_CloakableMixin.lua' failed)" and it does indeed appear that file isn't being loaded on the client. It only happens to that file. The cloak speed fix (which that file contains) still works since it only really needs to be loaded on the server but because of this when trying to abuse the bug you experience rubberbanding on the client, but it won't effect anything else so it's not a big problem. It would be nice to have it work proper though and I'd like to know why it happens so that I can avoid it when I really need code to run on the client.
If anyone of you has experience with this problem please do tell. Any other feedback is also welcome. :)
* Patched exploit that allows aliens to move at full speed while cloaked.
* Trims special characters (such as newlines) from names.
<b>* Improved auto reload. A reload will be triggered whenever the currently equipped weapons clip is empty instead of auto reloading only when attempting to fire with a fully emptied clip.</b>
Motivation: Clip based marine weapons will only reload automatically when attempting to fire when the ammo available is 0 instead of after firing the last bullet like most games would do. Now clip based weapons will always be auto reloaded whenever they're equipped, has an empty clip and there is ammo in reserve. Since reloading doesn't block switching weapons or other actions there's no tradeoff.
<b>* Fixed personal resources overflow. When one or more player have the max amount of PRes (100) the res this player otherwise would have received will be split between all other players instead of going to waste.</b>
Motivation: <a href="http://www.unknownworlds.com/ns2/news/2012/1/ns2_build_192_released" target="_blank">PRes overflow was added in build 192</a>. It's not known when it was broken and since its removal isn't documented (or at least I can't find it) while the addition is I can only conclude that it not working is a bug.
Hopefully UWE will pick up on your fixes, keep up the good work.
I don't know nor recommend it. It's not something I will pursue.
<b>* Higher PRes float precision. Eliminates big rounding errors in PRes HUD notifications.</b>
Motivation: The default behaviour has caused some confusion and is really rather ugly. Note that this is a change in presentation only, the internal PRes count is exactly the same as before, the numbers you are presented with are just closer to the actual amount. Res is gained no slower or quicker, this is not a balance change.
In the example below the marine team has just started and have only 1 RT which will give each marine player 0.125 PRes for every tick that res is assigned. Even though vanilla NS2 says you gain "0.1", "0.2" and "0.09" PRes it is in fact always 0.125 PRes per RT at this time. In both the before and after BNS2 example the total PRes is 20.375. The varying default numbers are caused by rounding errors only.
<a href="http://cloud-2.steampowered.com/ugc/1101393627406227349/5002FECAC12EBA8C1D14559A9528DAAF975EB958/" target="_blank">http://cloud-2.steampowered.com/ugc/110139...28DAAF975EB958/</a>
Could you make it so weapon upgrades affect exosuits? Surely its a bug that they do not?
I have no idea if it's a bug or not but you're right, miniguns does not appear to scale with weapon upgrades. I didn't know that. There's a comment in the code that says "Damage upgrades only affect weapons, not ARCs, Sentries, MACs, Mines, etc." but I'd still like more than that to be certain it's a bug, fixing it (or breaking it if it's not!) would be a pretty big balance change.
I have not added this to BNS2 but I tested the damage with damage scaling for Exo enabled. This is damage caused by a single minigun firing until it overheats. Currently NS2 (and BNS2) Exos will always do level 0 damage.
<a href="http://imgur.com/a/s3xFI" target="_blank">http://imgur.com/a/s3xFI</a>
Edit:
<!--quoteo(post=2051523:date=Dec 26 2012, 10:55 PM:name=TimMc)--><div class='quotetop'>QUOTE (TimMc @ Dec 26 2012, 10:55 PM) <a href="index.php?act=findpost&pid=2051523"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Will keep an eye out for servers running this when I get back from holiday.<!--QuoteEnd--></div><!--QuoteEEnd-->
I found this server (which I'm not associated with) currently runs the mod, and I also spotted NS2Stats and the fantastic moustache mod as well. :)
A bit too many slots for my personal liking but good games were had nonetheless.
<a href="http://ns2stats.org/server/server/1386" target="_blank">24 Solutions Warzone (Swedish)</a>
All those changes are really great and I hope they will go into the game soon, one question though: I tried to change the gamestrings files with a mod, like the mod "<a href="http://steamcommunity.com/sharedfiles/filedetails/?id=108753270&searchtext=" target="_blank">Natural Selection Death Message</a>", but no chance. I see that you changed the "Following X" while spectating, did you encountered any difficulties? I even contacted him and tried to copy paste his mod, but... impossible to make it works.
I don't want to monopolize this thread, just want to know if you had to do something special to make it works?
I have no idea what you're saying. :)
<!--quoteo(post=2052262:date=Dec 28 2012, 01:31 PM:name=Regnareb)--><div class='quotetop'>QUOTE (Regnareb @ Dec 28 2012, 01:31 PM) <a href="index.php?act=findpost&pid=2052262"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->All those changes are really great and I hope they will go into the game soon, one question though: I tried to change the gamestrings files with a mod, like the mod "<a href="http://steamcommunity.com/sharedfiles/filedetails/?id=108753270&searchtext=" target="_blank">Natural Selection Death Message</a>", but no chance. I see that you changed the "Following X" while spectating, did you encountered any difficulties? I even contacted him and tried to copy paste his mod, but... impossible to make it works.
I don't want to monopolize this thread, just want to know if you had to do something special to make it works?<!--QuoteEnd--></div><!--QuoteEEnd-->
No, there were no problems. I don't know how that mod does it but I might look at it, it was suggested to me to add that. Compare it to the BNS2 code and see if there's any difference, PM me if you can't figure it out.
Exo's damage now = "futur" Exo damage lvl3, instead of "futur" Exo damage lvl 0. By reading your previous post, I finally don't know which one you tested on your screenshot, but I assumed you scaled up the damage ^^
Don't worry for the mod, I already tested a LOT of things with the other creator, it's... inexplicable. Just wanted to be sure :P
if doer:isa("Weapon") or doer:isa("Grenade") then
to
if doer:isa("Weapon") or doer:isa("Grenade") or doer:isa("Minigun") then
in DamageTypes.lua will enable weapon scaling for exos (fist not included but I'm fairly sure other marine melee attacks aren't either so that's consistent) the same way it works for all the usual weapons. Again, this is not included in the mod, I was just testing. Don't mind the weapon level icon in the screenshots, I snapped both after upgrading to level 3 even though I damaged the first when I was still at level 0. My bad!
So you're saying that if UWE were to enable weapon scaling for miniguns the base damage would be lower, so that a level 3 minigun does the same damage a level 0-3 minigun does in the current build? Makes sense but I don't think Exos needs a nerf, without the firepower they got very little to offer. On the other hand they are affected by armor upgrades so it's very unintuitive that weapon upgrades doesn't do anything for them. If there's a text anywhere explaining it I've never seen it. Nonetheless, unless it's confirmed to be a bug I won't change it, I don't trust myself more than UWE to do balance changes. Even if it's a bug all their data from statistics and playtests would have been influenced by it so fixing it could create balance problems elsewhere... I think I'll sit this one out. :P
<b>* Added a console command printing mod version</b>
BNS2 doesn't make any noise so an easy way to find out if it's running is to type "b" in the console and if it's installed on the server it will print the version installed.
<b>* Added public community performance stats</b>
Clients will regularly publish performance stats. I thought this could be interesting since it always seems to be a hot topic in NS2.
The stats collection process is a bit different the usual old average FPS, I hope this will give good results. The client will take a single sample of the current FPS (from the engine, an average of the last 0.5 seconds I assume) when using primary or secondary attack but only once every 0.5 seconds. So, both 2 bites and firing for 2 seconds should result in 2 samples. It's my intention that this will collect samples in scenarios when FPS really matters; in combat (and when eating/chopping down RTs :P) rather than an average of the entire match or something like that, since it helps no one having 100 FPS when walking down an empty corridor. :)
Before being sent to the database all samples are put into a category; "Higher than 65 FPS", "Lower than 65 FPS", "Lower than 60 FPS", "Lower than 55 FPS" and so on all the way down to 30 FPS. It's limited these categories because they're the only ones that matters. Anything higher than 60 is fine already so that's not of any interest, anything lower than 30 ought to be forbidden by the Geneva convention but samples between those are only around near unplayable, so that's an interesting range in which I hope to see improvements (as well as players below 30 moving up above 60 of course, but that might be pushing it).
What we end up with is basically a list of "attacks during which the player had a higher/lower than x FPS" and here it is. It's rough, there's no fancy graphs, sorting, filtering of any kind, there may be bugs... it's nothing but the raw data. Hopefully someone else will make something cool out of it so that I don't have to. :)
<a href="http://lwf.rocketblast.com/ns/perfstats" target="_blank">http://lwf.rocketblast.com/ns/perfstats</a>
Oh, and another thing, I noticed yet another server running the mod! BNS2 is now running on Heidis Ziegenfarm [HBZ] though it won't show up as "bns2" in the server browser since it's combined with the 3D armory menu mod. Really cool stuff! :)
<b>* Added a console command to switch between different alien vision modes</b>
Typing <i>b_vision</i> in your console will allow switching between the original NS2 "Dark Vision" and the "<a href="http://steamcommunity.com/sharedfiles/filedetails/?id=98879398" target="_blank">Minimal Alien Vision</a>" by Huze, all while running.
This is not a setting per se since it isn't saved between sessions like every other setting is. I should probably make it one in a later version but I've not looked into how any of that works. Try binding the command to a key for now if you'd like to use it without typing it each time you play.
<b>* Voice muting a player will also mute commander only requests</b>
Meant to prevent griefing using "need order" spam.
<b>* Added public community hitreg stats</b>
That's right, more stats! This time it's all about the hitreg of hitscan weapons. Type "b_reg" in your console to print the amount of confirmed registered attacks and attacks that hit on your client but that the server dealt no damage for. Attacks close to the death of a entity are ignored. Note that hitreg failures may not be the direct fault of a problem in NS2, it could be caused a slow client, server, shaky network connection or oversights in my code! The point is not for you to be angry with UWE until there is no hitreg errors ever detected, but to be able to compare the difference between different builds.
Type "b_regmon" in your console to toggle printing of hitreg stats in the upper left corner of the screen when a hitreg error has been detected, as well as playing a "clicking" sound as a notification. These stats are also submitted to the page below when the game ends.
<a href="http://lwf.rocketblast.com/ns/hitregstats?bv=2" target="_blank">http://lwf.rocketblast.com/ns/hitregstats?bv=2</a>
The old performance stats page has received a tiny update. You can now filter out the data you're looking for from the page. Example below. Yeah, really, that's all. Some statistics hero, do something cool with it!
<a href="http://lwf.rocketblast.com/ns/perfstats?version=235&steamid=10791783&players=14&team=1&minroundlength=600&maxroundlength=3600&mapname=ns2_veil" target="_blank">http://lwf.rocketblast.com/ns/perfstats?ve...apname=ns2_veil</a>
<b>Minor update:</b>
Fixed an incompatibility with NS2Stats (thanks DePARA at HBZ for testing).
Detect and ignore most hitreg errors that are due to connection timeouts and packet loss.
<!--quoteo(post=2055963:date=Jan 4 2013, 04:04 PM:name=semihandy)--><div class='quotetop'>QUOTE (semihandy @ Jan 4 2013, 04:04 PM) <a href="index.php?act=findpost&pid=2055963"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->These changes are great. I'm glad someone is working on fixing exploits and common issues. I definitely like the celerity fix, the motion blur just gives me a headache. Thanks so much!<!--QuoteEnd--></div><!--QuoteEEnd-->
Thank you too, I'm glad you like it.
* Build 235 had haze intensity 0.4. BNS2 changed this to 0.1 (same as FlashLite by ######bagatron). Build 236 has changed this to 0.2 which is the same haze intensity of the exo floodlight. Even though vanilla NS2 has lowered the intensity by 50% I'm currently keeping the BNS2 value (half that of the current exo floodlight and current marine flashlight) as even after that it is still somewhat disruptive rather than a subtle eye-candy only effect.
* A new undocumented and buggy console command added in the build 236 beta but not in the changelog has been disabled as it can provide a significant advantage. UWE has already been informed.
* Minor changes to BNS2 to fix compatibility with the new build. As far as I know nothing very important was broken but updating is still recommended. Let me know if you find any problems!
* Settings are now persistent!
* Added general atmospherics tuning. (<a href="http://imgur.com/a/0hAJ1#5" target="_blank">Example settings</a>)
* Added first person tracers tuning (off/random (default)/always draw).
Type "b" in the console for further instructions on usage.
Default 1.0 looks perfect.
Any idea of why I receive this BNS2 error on my server?
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->BNS2 version checking error: no valid JSON value (reached the end)<!--c2--></div><!--ec2-->
It just so happened that the backend server was having problems so that check and the performance and hitreg statistics was down. Everything else will still work fine, the error is harmless and the server should be back up now.
Also there is a bug that hopefully should be fixed in the next patch which makes comparing client/server side hit registration data kinda pointless, as you will get a lot of false positives
* Disabled celerity motion blur and wind tunnel effect.
The hitreg stats are also disabled for now, possibly for good.
It's funny, because it is on the front page of the new site under "new developer posts".
-Evolving no longer makes you fall through the map, like in Landing Pad.
-Some changes in regards to (not) being able to evolve in places that are actually (not) too small for the resulting lifeform.
-When evolving, you will be equipped with the traits and upgrades that were available when you started the evolution, not those that are still available after you finish it.
Can't think of any other things that could have gone right or wrong in regards to evolving.