Edward850's network build testing extravaganza

Discuss anything ZDoom-related that doesn't fall into one of the other categories.

Edward850's network build testing extravaganza

Postby edward850 » Mon Jul 14, 2014 4:47 am

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
[netcode intensifies]
 
Joined: 20 Jul 2005
Location: New Zealand

Re: Edward850's network build testing extravaganza

Postby edward850 » Mon Aug 18, 2014 5:37 am

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
edward850
[netcode intensifies]
 
Joined: 20 Jul 2005
Location: New Zealand

Re: Edward850's network build testing extravaganza

Postby everamzah » Mon Aug 18, 2014 10:42 am

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
everamzah
gl_texture_filter 0
 
Joined: 20 Aug 2013
Location: Augusta, ME.

Re: Edward850's network build testing extravaganza

Postby edward850 » Mon Aug 18, 2014 10:52 am

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
edward850
[netcode intensifies]
 
Joined: 20 Jul 2005
Location: New Zealand

Re: Edward850's network build testing extravaganza

Postby everamzah » Mon Aug 18, 2014 11:08 am

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
everamzah
gl_texture_filter 0
 
Joined: 20 Aug 2013
Location: Augusta, ME.

Re: Edward850's network build testing extravaganza

Postby edward850 » Mon Aug 18, 2014 11:15 am

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
[netcode intensifies]
 
Joined: 20 Jul 2005
Location: New Zealand

Re: Edward850's network build testing extravaganza

Postby edward850 » Tue Aug 19, 2014 4:38 am

New update. Delay updates are now averaged out which should improve net_ticbalance, and made sound positions update during prediction.
User avatar
edward850
[netcode intensifies]
 
Joined: 20 Jul 2005
Location: New Zealand

Re: Edward850's network build testing extravaganza

Postby everamzah » Tue Aug 19, 2014 7:08 am

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
everamzah
gl_texture_filter 0
 
Joined: 20 Aug 2013
Location: Augusta, ME.

Re: Edward850's network build testing extravaganza

Postby edward850 » Thu Sep 25, 2014 10:18 pm

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...
User avatar
edward850
[netcode intensifies]
 
Joined: 20 Jul 2005
Location: New Zealand

Re: Edward850's network build testing extravaganza

Postby Edward-san » Fri Sep 26, 2014 3:15 am

Sent a pull request to fix an error in the new function R_RebuildViewInterpolation.
Edward-san
Mathematics is the language with which God has written the universe. (Galilei)
 
Joined: 17 Oct 2009

Re: Edward850's network build testing extravaganza

Postby edward850 » Fri Sep 26, 2014 3:18 am

Strange. I couldn't actually find a situation where this caused a problem. What did you find that caused a problem?
User avatar
edward850
[netcode intensifies]
 
Joined: 20 Jul 2005
Location: New Zealand

Re: Edward850's network build testing extravaganza

Postby Edward-san » Fri Sep 26, 2014 5:38 am

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.
Edward-san
Mathematics is the language with which God has written the universe. (Galilei)
 
Joined: 17 Oct 2009

Re: Edward850's network build testing extravaganza

Postby edward850 » Fri Sep 26, 2014 5:45 am

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
User avatar
edward850
[netcode intensifies]
 
Joined: 20 Jul 2005
Location: New Zealand


Return to General

Who is online

Users browsing this forum: MSN [Bot] and 5 guests