SRB2 Message Board  

Go Back   SRB2 Message Board > Archived > Outdated Releases (2.0.X) > Mods (2.0.X)

Thread Tools
SRB2CS: With new Match/CTF netcode! (BETA 5) Details »»
SRB2CS: With new Match/CTF netcode! (BETA 5)
Version: 1.10.6, by LXShadow LXShadow is offline
Developer Last Online: May 2020

Version: SRB2 Rating: (12 votes - 4.42 average)
Released: 07-16-2011 Last Update: Never Favourites: 20
Code Changes Additional Software Is in Beta Stage

LATEST VERSION: BETA 5 (see updates below)

Hi all! It's taken a long time, but it's finally gone public. This is the official (beta) release of:

SRB2CS - SRB2 with client-side networking [v1.10.6]


*) SRB2 with no control lag! This is the first time SRB2 has seen client-side netcode; and as such, it plays a bit differently than you might expect. Control lag and spike lag have been replaced by the occasional ring miss and jumpy players, as ping/latency is still prevalent. Instead of being struck by lag, others will appear to be struck by it. Good for them!
*) True-blue client-to-client networking!
*) Match (including Team Match), CTF, and partial race support. The rest of the gametypes are not yet available, and have been deactivated for the time being. Sorry!

Due to the ambitious nature of this mod (as well as its beta status), there are still some issues with the game's features and their synchronization. I plan to patch many of these up as soon as possible; but in the meantime, take note of the following:

*) Weapon rings are not yet dropped - this is to save bandwidth and will hopefully be fixed in the future.
*) Emeralds and randomizing monitors (MixUp, Recycler, Random, etc.) are not yet properly synchronised. So if an emerald disappears right in front of you, just be nice and forgive the guy who picked it up on the opposite end of the map!
*) ADDFILE support is currently very limited. In order to play on a custom level, the host must add it using srb2net (or the -file parameter) before starting up SRB2. WAD downloads from the server are not yet supported.
*) The maximum amount of players this can (so far) support in a netgame is twelve, due to the nature of the network packets. We hope to expand this to a larger value in the future.
*) There is often a delay when you hit someone with a ring. As such, rings are not guaranteed to hit players when you see things that way (see: RINGSTATS command). This is the nature of client-side game synchronisation. However, rail rings are very likely to hit when they should; so when in doubt, rails out!
*) There is currently an invisible player limit of 12. Maxplayers can still be adjusted; but be advised that no more than 12 players will be able to join your server at any time - even if maxplayers is above 12.
*) OpenGL has been disabled for now - sorry!

The mod features quite a few commands and console variables specific to the new netcode. Some of them are particularly important:

cshost (BETA 1): Starts up CS mode and hosts. This command *must* be input whenever you start a new server. NOTE: BOTH PORT 5029 and 5030 ARE USED FOR CS GAMEPLAY, AND MUST BE OPEN/FORWARDED IN ORDER TO HOST. Do be sure to open this port if you can, even if you aren't hosting (see clienttoclient). As of Beta 2, cshost is no longer required, and port 5030 no longer needs opening.
- csconnect: Connects to a server in CS mode. This is used to manually connect to servers in CS mode. Use this if you don't want to join an SRB2CS netgame using the master server (which, keep in mind, works completely fine).

The rest of the commands are useful in specific situations, but you shouldn't have to worry about them too much in your average netgame. Changing these may have adverse effects on how the game works, so proceed with caution:

- csdelay: This delays players slightly, increasing their ping. A relatively high delay may make other players seem less jumpy; however, a lower delay will make for more accurate ring hits and is generally recommended. Range of values is 0-2 (delay is done in tics). As of beta 2, a new value - "Automatic" or "-1" - is the default, and it is recommended that it be left that way.
- clienttoclient: This feature - enabled by default - allows clients to connect directly to each other, as opposed to connecting via the host. This allows for a lower ping and also puts less stress on the host; however, network traffic on your end will increase (not very significantly). This feature can be disabled or enabled by you as a client. Players can only be linked if one of them has their ports correctly forwarded - which is highly recommended.
- ringmove: In CS mode, adjustments have to be made to compensate for ping. The type of adjustments made, however, can sometimes be chosen. There are two options to this - "fast" and "jumpy". "Fast" ringmove will cause opponents' rings to move slightly faster under certain conditions. "Jumpy" ringmove, on the other hand, will cause rings to jump ahead of opponents as they are thrown (under the right conditions). Jumpy ringmove is generally more accurate, but fast ringmove is recommended for easier usability.
- ringstats: This command shows a report of how well the netcode has performed in synchronising your hits. It gives you a percentage of successful ring hits against all players you've hit so far, and also lets you know how many were unsuccessful.
- playerlinks: If you are the host, this command will show who is linked to whom. If you are a client, this shows your links with other clients - like ping.

Adjustments to some of SRB2's official commands have been made, too:

- nodes: Shows the IDs and names of all players connected, as well as their IP address. Due to clienttoclient, all clients can see IP addresses.
- ping: As always, ping exists, and it is shown with this command (as well as player links). However, it is worth noting that ping may appear to be different to each player. If you want good points, it is recommended that you fight the players with the lower ping- unless they're the server champions, of course. =P

I'd like to thank the many friendly players and netgamers who had helped me test this mod during its development. (If you're out there, make yourself known!) Also of particular mention is Spazzo, who helped lead the direction of this mod, introduced me to the world of SVN, and motivated me to give this mod a public release. Along the way, he added a pretty interesting program that logs SRB2 battles. I've included this as a little add-on - check if you're interested!

Feel free to contact either myself or Spazzo on IRC if you have any questions/bug reports/feature suggestions. We'd love to hear from you!

Latest updates (Beta 5):
[This is another small bugfix update- but it's bigger than it looks.]
- The setlives command has been disabled. (Thanks Kitoko and Hinote!)
- Fixed an issue where the wrong gametype would show up on the rankings. (Thanks Hinote!)
- Fixed an issue where disabling clienttoclient would break synchronisation.
- Made many further updates to Race mode so as to include support for single-player maps, and to properly order the winning players.

Past updates:

- Beta 3 had a serious bug involving ring drops and scoring - this has now been fixed.
- A minor sound effect fix was made.
- On a similar note, sound effects can now be heard while spectating someone else.
- Some internal updates were made to make the game run more efficiently online.
- Work on Race mode has begun, but is in its very early stages. You may now try it out if you like, but there are some de-synchronising bugs I'm aware of that have yet to be fixed. Be advised also that players who appear to be crossing the finish line first may not necessarily be in first place, due to ping issues.

[No real updates were made other than a few small bugfixes. Sorry!]
- Attempted to fix a few crash bugs that have been showing up lately. Hopefully they're gone now, and hopefully no more have been created!
- Fixed team-nuke issue.
- Hopefully fixed an issue where lagging players release 'ring lasers'. Ring lasers are not an official part of SRB2's gameplay and have as such been disabled.

- SRB2CS's netcode now uses SRB2's standard interface. This means that port 5030 no longer needs forwarding, and that MS support should now be more stable. However, glitches are likely to arise, so let me know if odd things start to happen. This change is completely reversible, so don't panic if things stop working!
- cshost no longer needs to be called when you start up the server.
- The "GOT FLAG!" in Match bug has been fixed. (Thanks Sky, Kitoko and Hinote!)
- Autoaim will appear to work, but it is not yet synced; so please disable it before you play!
- csdelay has been updated to account for network instability. A new value, "Automatic", is now the default, and ping will hopefully be generally lower than it was in the past.
- The ping command now shows player links, and also displays average ping "jumpiness".

- Initial release.

Download Now

File Type: zip (3.48 MB, 4468 views)

Show Your Support

  • This addon may not be copied, reproduced or published elsewhere without the author's permission.

Old 07-17-2011   #42
Dage4's Avatar

Beta 2......... Downloading right now
Dage4 is offline  
Old 07-17-2011   #43
KartKrew Dev
VelocitOni's Avatar

Originally Posted by LXShadow View Post
Doing it that way wouldn't be too bad, but I'm reminded of a beta test I did before this was released. Even though it was incompatible, we tried out Race mode. All the time I was racing, however, I was constantly worried that my opponent was actually in front of me, even when it might have seemed otherwise. Their ping was about 257 ms, so when we were close-up I had no idea who was really in front. (This was a real downer for my confidence, so I lost the race, too. =P </excuse>)
But does his position really matter? I just try the best I can and hope I come out in 1st, other players positions don't phase me.
Kart Krew Workshop Thread
SRB2 Top Down & SRB2 Kart
VelocitOni is offline  
Old 07-17-2011   #44
SteelT's Avatar

Downloading now, That was a fast update.

Edit:When i press join game i got a message that said... cannot connect to the master server.

Edit 2:My firewall was blocking it so it connects to the master server.
How can you combine steel and titanium?

Last edited by SteelT; 07-17-2011 at 07:56 PM.
SteelT is offline  
Old 07-18-2011   #45

Holy crap. Can't believe you actually made this, but great job. I remember talking to you about the idea quite a while a while back, but I didn't see it coming for real.

I don't play SRB2 much anymore, but I'll have to try this out sometime.
Ryan is offline  
Old 07-18-2011   #46
ArchPack developer
Ezer.Arch's Avatar

LXShadow, you should edit Addons Details on 1st post and change the version number there. Every time you change the version number, everyone who has subscribed on your topic will receive a notification about new updates. Just a small tip.

(I didn't know you had released a new beta until now)
ArchPack v2.1 level pack | | YouTube | ERZ2 FTW!
Ezer.Arch is offline  
Old 07-18-2011   #47

Thanks for the heads-up. (You can tell I'm pretty new at this. =P)

Actually, a small problem is that the version number hasn't changed through the beta versions. SRB2CS's internal version is different from the standard. However, MS support was updated in Beta 2, and hopefully players will be notified on the next update. (.. or, at least, that's the plan anyway!)
LXShadow is offline  
Old 07-18-2011   #48
A non-special snowflake
Steelie's Avatar

- SRB2CS's netcode now uses SRB2's standard interface. This means that port 5030 no longer needs forwarding, and that MS support should now be more stable. However, glitches are likely to arise, so let me know if odd things start to happen. This change is completely reversible, so don't panic if things stop working!
Wait, so that means I could host without having portforwarded? If so, I love you LXShadow! =P
Originally Posted by Majro
or maybe they simply walk at sucking
Steelie is offline  
Old 07-18-2011   #49
MascaraSnake's Avatar

Originally Posted by *Steel* View Post
Wait, so that means I could host without having portforwarded? If so, I love you LXShadow! =P
No, of course not. That isn't even possible. But you don't have to forward port 5030 anymore, only port 5029 like in regular SRB2.
MascaraSnake is offline  
Old 07-18-2011   #50
Cue's Avatar

Originally Posted by SpiritCrusher View Post
That isn't even possible.
Wrong. It's called NAT traversal and many games do it these days. It involves using the game list server as a middleman. Oogaland was working on it some time ago but I don't think he finished the MS side of it, or maybe he did and it just wasn't trunk'd.
<+Jev3> btw guys, now that Cue is gone, the Master Server is going to be awesome
<@Mystic> That's a good idea, Cue.
Cue is offline  
Old 07-18-2011   #51
Arf's Avatar

Beta 3 already? Man LXShadow, you're just pumping out new version after new version...keep it up!
Arf is offline  
Old 07-18-2011   #52
Chaos Knux
Daww, a mother and her foal
Chaos Knux's Avatar

And now I have two reasons to load SRB2 up again. Thank you LXShadow.
Atra gulia un ilian tauthr ono un atra ono waíse sköliro fra rauthr.
My Friend Codes
Originally Posted by Derpy Hooves; Today, Tomorrow, and Forever
Chaos Knux is offline  
Old 07-19-2011   #53

LXShadow, you're awesome for two reasons. This mod, and for keeping #RABBIT :D
Kalaron is offline  
Old 07-19-2011   #54
aka MilesKliesen
pipeX's Avatar

i try to connect to a friend's server but it not work. it appear a text in 1 milisec and i cant read it. i tried csconnect but the console said "connection failed (sorry!)"
pipeX is offline  
Old 07-19-2011   #55
Community Noise Maker
CobaltBW's Avatar

Couple bugs I wanted to report regarding the newest version. If the client gets damaged in some way, it won't appear as if he spilled any rings and he won't be able to pick them back up; however, other players will see the rings and be able to grab them as usual. The client also won't see messages in the kill log that involve him getting hit by other players. Spazzo might have already tipped you off on the bugs, since I was playing with him last night when we noticed them, but I figured I'd post it just in case. (EDIT: Right as I post this, BETA 4 is released. Herp.)

With that aside, I can't thank you enough for doing this. SRB2's embarrassingly shoddy and out-of-date netcode was the one major thing preventing me from enjoying its multiplayer offerings, and now that the game is done stammering, masks control lag, and even compensates for hitscan, this truly feels like a proper multiplayer experience. I can't possibly go back to vanilla after playing this.

And this is just personal opinion, but I think even the features that are disabled don't have a negative impact on the mod... actually, I'd even say some of them are beneficial. No randomizers? The game modes that I don't care about are exempt from the beta? The lack of dropped weapon panels somehow makes Tails fun and viable in a competitive environment? Can anyone think of a way this could possibly be any better? Because I can't.

Check out my soundcloud profile for music stuff

Last edited by CobaltBW; 07-19-2011 at 07:39 PM.
CobaltBW is offline  
Old 07-19-2011   #56

Nice timing, Blue Warrior. =P

I'm glad you're enjoying this. I think a lot of people would agree with what you're saying, which is probably the main reason why I haven't implemented teleporters/recyclers yet. =P (Although I've started work on Race mode...)

Originally Posted by Kalaron View Post
LXShadow, you're awesome for two reasons. This mod, and for keeping #RABBIT :D
Thanks Kalaron! Have you seen the BUNNIES yet?

I'm glad people are liking this mod so much. I would be trying to make big improvements and updates at the moment, but they're always risky, and I don't want things to fall apart (somewhat as they did with Beta 3).

That said, things already appear to be a bit broken at the moment with Beta 4. The MS doesn't work probably - since nobody is around to update the version at the moment - and connection by IP may not be working either - due to the transition to SRB2's standard internal netcode. So please be patient and wait for the MS version to be updated. Thanks!
LXShadow is offline  
Old 07-19-2011   #57
KartKrew Dev
VelocitOni's Avatar

Would I be asking to much if this Net Code replaced vanilla? It's much more modern and efficient.
After playing this, then going back to Vanilla, I sighed.
Kart Krew Workshop Thread
SRB2 Top Down & SRB2 Kart
VelocitOni is offline  
Old 07-19-2011   #58
This is invalid!
Permanently Banned

I found a few visual bugs you might want to take note of: First of all, when standing on a rising platform, like a platform floating on rising water, the character flashes, and also, when spectating while dead, everyone appears to be dead, and everyone appears to have the same time as you, as well as everything else.

Also, on the netcode side, The cheats and setlives commands are both personal, meaning someone can give themselves 99 lives and 9999 rings and whatnot. This happened in race. Also, when in DSZ2, the platforms that rise when you get there, around the end, they refused to rise for me, and then after going back twice, suuddenly they had risen, all on their own.
Kitoko is offline  
Old 07-19-2011   #59
Aka Hinote
Alice's Avatar

I went on to hosting Beta 4 with race. I did race in the SP levels and there are a bunch of bugs that I thought I post. Just to help maybe :P

First, it seems like the host needs to finish the stage in order for the countdowntime to start, because anyone else ahead that finishes first doesn't exactly finish the race on my end (host) but on their end they do finish it.

I also noticed that in Race mode it says Team Match, not Race.
Spoiler: Big image

It also seems like players other than the host can enable their own cheats and set their own lives apparently. I don't know for sure since I was the one hosting, but others say they could.
Single Players are a bit buggy, but I bet you already know that. Circuit is doing fine at this point.
I did come across a sigsev crash in Deep Sea Zone Act 2. Thought maybe I could paste the error.log Which is here.

One question about adding files though. It seems like some wads I can't add with the launcher like, scmrtf_torturedplanet.wad and hinotev2.0-oldsoc.wad. I don't know what's up with that, but when I launch the game it says its invalid or missing when I know its in the root of my srb2 folder.

Awesome to see beta 4 with race though, race is fair now :D
Follow me on Twitter for more of my art!
Alice is offline  
Old 07-19-2011   #60
Katmint's Avatar

I recorded a video of part of a netgame with CS, you can see some bugs in it like the players being the wrong colors after the map change.

I also recorded a second video but the server sigsegved so I threw it out. :(
Katmint is offline  
Old 07-20-2011   #61
Sergeant Brown
An Eggman Fan
Sergeant Brown's Avatar

Wow. This is brilliant, brilliant I say!

I have to download this. There is just no reason not to.

Keep it up, my boy.
Sergeant Brown is offline  

Thread Tools

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 05:42 PM.

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