• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Final Release Antilag: a network hit detection mutator (white-listed)

Mekhazzio

Grizzled Veteran
Sep 21, 2011
1,104
641
Antilag
---------
A white-listed network hit detection mutator for Red Orchestra 2

http://www.reprehensible.net/~mekh/Antilag.zip

This mutator changes the networking design in RO2 to use client-side hit detection. Shots made with it no longer need to be adjusted for latency. In most ways, the shooting on an Antilag server will behave exactly as it does in single-player mode. All infantry weapons and the mounted machineguns are updated to use Antilag. Tank weapons are not, as the way they're implemented in the game would require a large increase in scope to affect with a mutator, and it's simply not worth the effort.

As a necessary side effect, this mutator also brings a new ballistics model, removing the 50-meter and post-penetration instant hit traces that stock RO2 employs. Wall penetration and a few other systems have received accuracy and performance improvements and/or bug fixes. Server performance should be significantly improved during heavy combat.

As an extra addition, an optional "advanced ballistics" mode is available should server operators wish to use it. It changes the bullet behavior from the stock game to include the following:
- Power loss: Speed lost during flight or penetration reduces damage
- Deflection: Skips & ricochets off steep angles and/or hard surfaces
- Refraction: Skew when penetrating at oblique angles, producing scatter

To install this on a server:
----------------------------

Step 1) Unzip into the directory your server is installed in. There are three files that go into three different places:
* ROAntilag.ini into rogame/config
(if your server uses a custom config directory, copy it there)
* Antilag.u into rogame/cookedpcserver
* Antilag.int into rogame/localization/int

Step 2) Because the webadmin module for mutators is broken at the time of this writing, and the built-in map cycle is also broken when using additional variables, enabling the mutator while still having a functioning map cycle requires a second mutator. You will need Dynamic Map Rotator, detailed at http://forums.tripwireinteractive.com/showthread.php?t=75372 with the download at http://dl.dropbox.com/u/54368035/DynamicMapRotator/DynamicMapRotator.zip
It installs the same way, the .ini files go into the server config directory, and the .u goes into cookedpcserver

Step 3) Edit the RODynamicMapRotator.ini file in the config directory, look for the line that says
Code:
AdditionalUrlVariables=
and change it to read:
Code:
AdditionalUrlVariables=?mutator=Antilag.Antilag

Step 4) Restart the server so that it can see the new packages.

Step 5) Turn the mutators on by doing a manual map change in the webadmin with the following entered into the Additional Variables field:
Code:
?mutator=Antilag.Antilag,DynamicMapRotator.DynamicMapRotator
or better yet, add that string to the end of the map name in your server's start-up batch file and start the server that way. Once initially loaded, DynamicMapRotator will always load itself in future map changes, and because of step 3, it will also load Antilag with it.

You'll know when Antilag is active, as it will show in the webadmin Current Game screen, and the mutator will send players a text announcement 7 seconds after spawning, assuming you haven't disabled it, which is done in ROAntilag.ini.

Step 6) Players will automatically download the package when connecting. Don't forget to put the .u into your redirect, if your server uses one.

Step 7) AdvancedBallistics mode is enabled by editing the .ini in the config directory and changing its setting from false to true. If it's active, the announce message sent when players spawn will mention it.

Step 8) Enjoy your bullets actually hitting what they're supposed to!

-Mekhazzio
 
Important note:
Some users have reported crashing issues with this mutator. Tripwire does not think it's the fault of the mutator itself, but rather something in the game's memory handling, so they've gone ahead and white-listed this mutator for ranked play, anyway. It might be a few weeks before they can solve the crash problem on their end, as they're having as much trouble reproducing it as I am.

If you run this mutator on your server, be aware that some of your players may have crash problems, and some people have reported that the frequency of them might increase if you enable the "Advanced Ballistics" mode.

The crashing might be related to video settings or drivers, so if you're one of the unlucky few who gets the crashes, you could try deleting your RO2 config files to get fresh versions, and adjusting settings from there to see if anything can solve them. Either way, definitely send in your crash dumps to Tripwire, either with the automatic report tool or by posting them in the Support forum, so that they can get it solved.
 
Last edited:
Upvote 0
Any update on the RO2 engine fixes to stop the crashing?


Also,

How much local machine CPU load does this mutator add?

Does it also now compute more physics locally than previously? Is this offloaded to a PhysX capable video card?

If not offloaded to PhysX, or if PhysX is not available on the local machine, does it hit the same thread as the main game engine, or does it hit a separate core on the local machine?

Thanks,
Matt
 
Upvote 0
Does it also now compute more physics locally than previously? Is this offloaded to a PhysX capable video card?

If not offloaded to PhysX, or if PhysX is not available on the local machine, does it hit the same thread as the main game engine, or does it hit a separate core on the local machine?
I doubt that PhysX is involved, and the extra load, such as it is, takes place in the main Unreal actor processing thread. Overall, the mutator implementation is both an increase and a reduction, because while clients are additionally handling the flight and penetration of their own bullets, they are no longer handling the penetration of other player's hits near them. In a heavy firefight, client performance will thus be improved, but by such a small amount that it's of negligible concern.
 
Upvote 0
Oh my GOD ! I can simply not overstate how amazing it is to finally see my bullets fly where they are supposed to :D

Thanks you so much for this Mekhazzio.

I found the hit or miss (literally) hit registration in RO to drain all the fun out of the game for me, I had to waste tons of clips just so I could be sure I killed an enemy. Thanks to this mutator I can finally have fun with this game again.

Thanks, danke, merci, bedankt, thank you so much !

I wish every server would use this and I hope this mutator will be included in a patch.
 
Upvote 0
Oh my GOD ! I can simply not overstate how amazing it is to finally see my bullets fly where they are supposed to :D

Thanks you so much for this Mekhazzio.

I found the hit or miss (literally) hit registration in RO to drain all the fun out of the game for me, I had to waste tons of clips just so I could be sure I killed an enemy. Thanks to this mutator I can finally have fun with this game again.

Thanks, danke, merci, bedankt, thank you so much !

I wish every server would use this and I hope this mutator will be included in a patch.

I know I'm late to the party, but I just wanted to throw in my +1 to the above post. Thank you so much, Mekhazzio. The antilag mutator fixes the biggest issue I have with the game. It removes the guesswork of leading based on my ping (in addition to ballistics of course. The most fun I had with this game was when I got to play a server with the antilag mutator enabled.

I can't stand playing this game for more than a map or two now that my favorite server (2Fjg) stopped using the mutator due to it apparently causing server crashes. I hope the powers that be realize this is the single biggest turnoff to casual gamers like myself. They could just fix the antilag mutator crash issue and I would play the heck out of this game...
 
Upvote 0
I'm running a 24xSlot Server in Australia and would love to see this mutator incorporated also. It would be a pleasure to see skill rather that an algorithm judge where my projectiles go.

The other features in the Advanced Ballistics are also to be applauded.:)

Please Tripwire, could you give some serious though to this as I know that this would bring back some of the absent community.:D
 
Upvote 0
There hasn't been a patch since Feb 7th, so all the old issues still exist. Some players will have crash problems unless they turn down their detail settings and all of the newer custom maps will break quite badly, with most weapons disappearing completely.

As for the advanced ballistics setting, it does what's described in the initial post:Antilag advanced ballistics mode test - YouTube The numbers have been tweaked since that video was recorded, but it'll give you an idea of what's happening behind the scenes. It will rarely impact gameplay, I just threw it in for some extra verisimilitude, because a bonus side effect of my reworking of shot communication was that these mechanics were trivial to implement. There's been a handful of people saying that they think it increases the rate of crashing, but I suspect that's just the randomness of the "normal" crash problem at play. It should be safe to use, but at the same time, there's no real loss in turning it off. The occasional ricochet or skip kill is kinda neat, but rare and usually unintentional.
 
Upvote 0
Butovo works for sure. I think Ogledow and maybe Arad2 do as well, but I've not tested them myself. The rest do not.

If you're spawning without weapons in stock maps, it's probably because you've cache extracted or manually installed the mutator in the client's directory. Mutator client assets only load properly from the cache, for now. To be honest, given all the problems RO2 has with package handling, I'm kinda surprised that it works at all.

There's also a stock game bug that frequently breaks squad leader inventory (badly) but Antilag isn't responsible for that, the Feb 7th patch is. They just happened to come out around the same time.
 
Upvote 0