Page 1 of 1

Edward850's network build testing extravaganza

Posted: Mon Jul 14, 2014 4:47 am
by edward850
New build/features for August 21th, 2014:

This has been pushed. Wait for new branches soon!

Adds a brand new networking feature, network latency balancing, which eliminates round trip time in exchange for shared latency times. Do note this doesn't work in PacketServer (it was entirely unreliable). Also adds viewable latency times in the scoreboard, a new extratic mode which resends all unacknowledged messages for networks that may work better with it, and a menu that as all of these amazing options.

Update:
Made delay updates less erratic and player prediction now updates the listener point. The networking menu is now actually there this time. That was there originally but the PK3 didn't update properly.
Fixed message corruption that could occur and netmode reporting corrected for guests.

New CVars:
  • net_ticbalance (boolean)
  • hud_showlag (int) (0 - off, 1 - on in netgames, 2 - on always)
  • net_extratic (int) (0 - off, 1 - 1 extra tic, 2 - All unacknowledged is extra)
Zobkoob (ZDoom 2.8pre-632-g4c428d4.7z, 4.55 MB)
Changelog:
  • Added network latency balancing for P2P.
  • Added althud function that shows arbitrator and local latency.
  • Added delay times to scoreboard.
  • Added net_extratic, which can be changed anytime during the game.
  • New extratic mode, 2, which always adds all unacknowledged tics. More latency means more tics.
  • New networking menu, which includes options for cl_noprediction, net_extratic and net_ticbalance.
  • Added hud_showlag to althud menu.
  • Sound positions are now updated by player prediction.
  • Guests now report the netmode correctly.
  • Fixed possible message corruption.
  • Bumped the net version.
Older tests:
Spoiler:

Re: Edward850's network build testing extravaganza

Posted: Mon Aug 18, 2014 5:37 am
by edward850
Might as well reuse this. Brand new build, with the network latency balancing function. You can see it in action here, if you wish.

Re: Edward850's network build testing extravaganza

Posted: Mon Aug 18, 2014 10:42 am
by everamzah
Dig the new features. Seems to be flowing more smoothly here on the wireless lan.

Edit: Just crashed after attempting to pukename a script without "net" and then doing changemap. Changemap worked fine prior, but the crash happened after trying to pukename a script without net.

Re: Edward850's network build testing extravaganza

Posted: Mon Aug 18, 2014 10:52 am
by edward850
everamzah wrote:Dig the new features. Seems to be flowing more smoothly here on the wireless lan.
Wait, it improved WLAN? Do you mean an actual local game or across the Internet, and which settings was this with?
everamzah wrote:Edit: Just crashed after attempting to pukename a script without "net" and then doing changemap. Changemap worked fine prior, but the crash happened after trying to pukename a script without net.
I don't think that's related to my changes, but I'll look into it.

Re: Edward850's network build testing extravaganza

Posted: Mon Aug 18, 2014 11:08 am
by everamzah
I just play locally between a few computers on the local network, which is wireless. I imagined it was much smoother than before, and I was using net_ticbalance.

Re: Edward850's network build testing extravaganza

Posted: Mon Aug 18, 2014 11:15 am
by edward850
That's the last command that would be doing anything on a LAN. There couldn't possibly be more then 1 tic (28ms) between players, so there would be nothing to average out. Unless by some chance you missed the changes to network adaption I added in a few weeks back and are seeing its effects instead?

But hey, if it improves things... :P
everamzah wrote:Just crashed after attempting to pukename a script without "net" and then doing changemap. Changemap worked fine prior, but the crash happened after trying to pukename a script without net.
I cannot reproduce this. Do you have something that will? Or a crashlog?

Re: Edward850's network build testing extravaganza

Posted: Tue Aug 19, 2014 4:38 am
by edward850
New update. Delay updates are now averaged out which should improve net_ticbalance, and made sound positions update during prediction.

Re: Edward850's network build testing extravaganza

Posted: Tue Aug 19, 2014 7:08 am
by everamzah
I looked in the zdoom but didn't see a crashlog. The .pdb is for debugging? I will try to reproduce it again today.

Re: Edward850's network build testing extravaganza

Posted: Thu Sep 25, 2014 10:18 pm
by edward850
Probably last update this round before I push it to the main repo; Readded "-extratic" for old launcher compatibility, fixed message header corruption which could slow down or stop games, and guest connections will now correctly report the selected netmode.
Edit: Still more bugs to fix. Next update coming soon.

Edit final: I have pushed this build (finally). Turns out the issues with latency averaging and multiple nodes was actually dirt simple. I also chucked in a couple of prediction features (as it was somewhat entwined with everything else). Until next time...

Re: Edward850's network build testing extravaganza

Posted: Fri Sep 26, 2014 3:15 am
by Edward-san
Sent a pull request to fix an error in the new function R_RebuildViewInterpolation.

Re: Edward850's network build testing extravaganza

Posted: Fri Sep 26, 2014 3:18 am
by edward850
Strange. I couldn't actually find a situation where this caused a problem. What did you find that caused a problem?

Re: Edward850's network build testing extravaganza

Posted: Fri Sep 26, 2014 5:38 am
by Edward-san
I wonder if R_RebuildViewInterpolation could be called with player->camera=NULL. A first and rapid search did not find a check which prohibits this.

Re: Edward850's network build testing extravaganza

Posted: Fri Sep 26, 2014 5:45 am
by edward850
Only if the camera is destroyed, come to think of it. However that was checked anyway with player->camera != NULL, because otherwise the iview pointer would still be null and the function would return.
Now, there is a check to see if the camera remains NULL, which means the player lost their body. :D