SRB2 Message Board  

Go Back   SRB2 Message Board > Sonic Robo Blast 2 > SRB2 Discussion

Closed Thread
 
Thread Tools Search this Thread
Old 10-18-2015   #1
Rayfan
A mi me gusta el taca taca!
 
Rayfan's Avatar
Default The messiest netcode.

The title says more than it should, but anyways, this new netcode in my opinion is very buggy. While the sync thingy makes it stablier, its unplayable for me, i mean, in 2.0.6 i played perfectly with a ping of 100, but now in 2.1 i have a ping of 60 and it keeps syncing. I prefer cfailing every 20 mins rather than the game freezing every 3 seconds. So please, why not bring the old netcode?
__________________
ey guyze look at me i got a signature!
Rayfan is offline  
Old 10-18-2015   #2
toaster
トースタちゃん
 
toaster's Avatar
Default

Because we honestly have no idea what specific change was made which led to all this desynchronisation. Is it Lua? Is it how various new map gimmicks were implemented? There are so many dependencies in SRB2 that asking to restore "the old netcode" is like trying to use the original frame of a building that's been knocked down to prop up something that was built on its site afterwards.

I'm sure someone who's closer to the source code could answer this with a little more depth, but that analogy is at least the short of it (if not the long).
__________________
Quote:
<fickle> giant robo-hood that rips the map apart with her bare hands
toaster is offline  
Old 10-19-2015   #3
Sprocket 9001
Permanently Banned
Default

What files contain the netcode inside of SRB2's source code?
Sprocket 9001 is offline  
Old 10-19-2015   #4
Rayfan
A mi me gusta el taca taca!
 
Rayfan's Avatar
Default

Back in 2.0.6 there where some files: MServ.c MServ.h y_inter.h y_inter.c d_net.c d_net.h d_netcmd.h d_netcmd.s. All these contained the source code, not sure if its the same in 2.1...
__________________
ey guyze look at me i got a signature!
Rayfan is offline  
Old 10-19-2015   #5
Monster Iestyn
Friendly Neighbour-Hood
Moderator
 
Monster Iestyn's Avatar
Default

y_inter.c/h are primarily to do with intermission screens; namely the results screens you see after completing a level/round in any gametype, as well as bonuses awarded in single player/coop.

mserv.c/h are to do with the master server (or more accurately, communicating with it).

d_net.c/h, d_netcmd.c/h and d_clisrv.c/h are probably the main files to do with the netcode as far as I'm aware:

* d_net.c/h is to do with communication I think?

* d_clisrv.c/h has stuff to do with the client I think, even has stuff that's important for the game in general (whether Single player or multiplayer).

* d_netcmd.c/h deals with networked console commands/variables I think.

The purposes of all the above six files are not totally clear to me that said, I haven't touched them much personally.
__________________
My page stuffed full of MIDI goodness!
The Hitchhiker's Guide to the Robo-Hoodiverse
Timeline of Sonic Robo Blast History!

That's an uppercase i, not a lowercase L, for the record. Also, it's pronounced "Yes-tin".

Last edited by Monster Iestyn; 10-19-2015 at 07:26 PM.
Monster Iestyn is online now  
Old 10-19-2015   #6
Rayfan
A mi me gusta el taca taca!
 
Rayfan's Avatar
Default

Well, good to know that, anyways, i belive it was because the Lua (Remember that a big part of the socs usually made pepole cfail?) And, is there an alternative to forwarding ports? (I could host normally, but now my Modem broke and now i have a Router that for some reason has all ports closed) Offtopic: How do i change my name in the forums?
__________________
ey guyze look at me i got a signature!
Rayfan is offline  
Old 10-19-2015   #7
Monster Iestyn
Friendly Neighbour-Hood
Moderator
 
Monster Iestyn's Avatar
Default

As far as I remember discussing with other people on IRC, the main problems with netplay happens when players join or leave a server. Say you have a bunch of people on one, and all runs fine until someone leaves. Then a bunch of other people consfail afterwards, or you see a person leave twice in the console. That's not even with Lua or SOCs loaded at all.

That said, much of the Lua code only activates once you actually LOAD a Lua script, I doubt it causes much of the de-synchronisation problems if any at all. Of course, I could be wrong.

Also, to change your name on the MB, simply PM an admin to request to have your name changed. Can't help you with your hosting problem though sadly.
__________________
My page stuffed full of MIDI goodness!
The Hitchhiker's Guide to the Robo-Hoodiverse
Timeline of Sonic Robo Blast History!

That's an uppercase i, not a lowercase L, for the record. Also, it's pronounced "Yes-tin".

Last edited by Monster Iestyn; 10-19-2015 at 09:00 PM.
Monster Iestyn is online now  
Old 10-19-2015   #8
"Lat'"
Stop it
 
"Lat'"'s Avatar
Default

Quote:
Originally Posted by Monster Iestyn View Post
...the main problems with netplay happens when players join or leave a server.
Thisthisthisthisthisthis.

I actually wonder how the game actually fails to properly put players in-game and do the same for everyone, the reverse also happens quite a lot (having to spectate when you join). This said, I've had waaaaaay less issues with players leaving than players joining on my end, where I keep synch failing anyway, unless the player leaves in the middle of its join.
__________________
Quote:
Originally Posted by Bronydude2k5 View Post
If you make me a Sash Lilac wad, I'll make you a sonic sprite hack of any choice.
"Lat'" is offline  
Old 10-20-2015   #9
Rayfan
A mi me gusta el taca taca!
 
Rayfan's Avatar
Default

Its pretty strange since in 2.1 (I belive) It was ok.
__________________
ey guyze look at me i got a signature!
Rayfan is offline  
Old 12-05-2015   #10
Fanthom
An Italian Srb2 Player
 
Fanthom's Avatar
Default

This is the way I deal with Sync failures in most cases :

When someone joins, and it causes a Syncing lag, I Immediately kick that joining player asking him to rejoin.

When a Syncing lag occurs after a level change, I switch back to the previous level and then warp to the next.

When I join a server, and a syncing lag appears, (Though I don't see the yellow writings on the screen), I leave the server and then rejoin, hoping that it won't happen again.

When a Syncing lag is caused by a leaving player, well, I haven't found a way to bypass this, which means you're pretty much screwed unless the right Sync failer rejoins.
__________________
My Toaster Specs :
Intel Core i5 M460 2.53GHz
Nvidia Geforce 310m 512mb vRam
6GBs of Ram
Fanthom is offline  
Old 12-05-2015   #11
choalover
Default

Quote:
Originally Posted by Rayfan View Post
Its pretty strange since in 2.1 (I belive) It was ok.
Yah, the netcode was good back in 2.1.0. It was a change made back in 2.1.1's development causing an issue. We should compare both the source code for 2.1.0 and 2.1.1 to find the issue. The new synch code made the netcode a lot better. The synch code isn't the problem.

Last edited by choalover; 12-05-2015 at 02:10 AM.
choalover is offline  
Old 12-05-2015   #12
K.S.
Formerly Inuyasha
Retired Staff
 
K.S.'s Avatar
Default

Quote:
Originally Posted by choalover View Post
We should compare both the source code for 2.1.0 and 2.1.1 to find the issue.
lol

I think you only don't remember that the netcode was just as bad then because 2.1.0 only was live for a few hours. That locale fix got pushed out the door at rapid speed.
K.S. is offline  
Old 12-12-2015   #13
Rob
Administrator
 
Rob's Avatar
Default

I'm still very amused that bug never got caught in testing. I mean, it's totally understandable how, but it's still funny.

Anyway, I'm just going to lock this topic, as it pretty much is every other topic we have on netcode ever.

Listen, we get it, the netcode is shit. But the reality is that in order to fix it, we need someone who is very familiar with how networking code actually works and can sit down and sift through every last bit of how SRB2 interacts with it, which I'm sure is a very daunting task. Blind speculation on the causes of the issue aren't helping. If you really want to fix it, find someone who understands how networking works and would actually dedicate the time and effort to fixing it.
Rob is offline  
Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:21 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.