Edward850's network build testing extravaganza

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
Post Reply
User avatar
edward850
Posts: 5886
Joined: Tue Jul 19, 2005 9:06 pm
Location: New Zealand
Contact:

Edward850's network build testing extravaganza

Post 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:
Last edited by edward850 on Thu Sep 25, 2014 10:19 pm, edited 7 times in total.
User avatar
edward850
Posts: 5886
Joined: Tue Jul 19, 2005 9:06 pm
Location: New Zealand
Contact:

Re: Edward850's network build testing extravaganza

Post 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.
User avatar
everamzah
Posts: 149
Joined: Tue Aug 20, 2013 10:17 am
Location: Augusta, ME.
Contact:

Re: Edward850's network build testing extravaganza

Post 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.
User avatar
edward850
Posts: 5886
Joined: Tue Jul 19, 2005 9:06 pm
Location: New Zealand
Contact:

Re: Edward850's network build testing extravaganza

Post 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.
User avatar
everamzah
Posts: 149
Joined: Tue Aug 20, 2013 10:17 am
Location: Augusta, ME.
Contact:

Re: Edward850's network build testing extravaganza

Post 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.
User avatar
edward850
Posts: 5886
Joined: Tue Jul 19, 2005 9:06 pm
Location: New Zealand
Contact:

Re: Edward850's network build testing extravaganza

Post 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?
Last edited by edward850 on Tue Aug 19, 2014 4:37 am, edited 1 time in total.
User avatar
edward850
Posts: 5886
Joined: Tue Jul 19, 2005 9:06 pm
Location: New Zealand
Contact:

Re: Edward850's network build testing extravaganza

Post by edward850 »

New update. Delay updates are now averaged out which should improve net_ticbalance, and made sound positions update during prediction.
User avatar
everamzah
Posts: 149
Joined: Tue Aug 20, 2013 10:17 am
Location: Augusta, ME.
Contact:

Re: Edward850's network build testing extravaganza

Post 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.
User avatar
edward850
Posts: 5886
Joined: Tue Jul 19, 2005 9:06 pm
Location: New Zealand
Contact:

Re: Edward850's network build testing extravaganza

Post 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...
Edward-san
Posts: 1774
Joined: Sat Oct 17, 2009 9:40 am

Re: Edward850's network build testing extravaganza

Post by Edward-san »

Sent a pull request to fix an error in the new function R_RebuildViewInterpolation.
User avatar
edward850
Posts: 5886
Joined: Tue Jul 19, 2005 9:06 pm
Location: New Zealand
Contact:

Re: Edward850's network build testing extravaganza

Post by edward850 »

Strange. I couldn't actually find a situation where this caused a problem. What did you find that caused a problem?
Edward-san
Posts: 1774
Joined: Sat Oct 17, 2009 9:40 am

Re: Edward850's network build testing extravaganza

Post 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.
User avatar
edward850
Posts: 5886
Joined: Tue Jul 19, 2005 9:06 pm
Location: New Zealand
Contact:

Re: Edward850's network build testing extravaganza

Post 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
Post Reply

Return to “General”