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: Dec 2015

Version: SRB2 Rating: (12 votes - 4.42 average)
Released: 07-16-2011 Last Update: Never Installs: 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]

Features:

*) 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 SRB2Stats.zip 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 4:
- 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.

BETA 3:
[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.

BETA 2:
- 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".

BETA 1:
- Initial release.

Download Now

File Type: zip SRB2CSBeta5.zip (3.48 MB, 3748 views)

Show Your Support

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

Comments
Old 02-16-2012   #102
Spazzo
Permanently Banned
Default

Quote:
Originally Posted by Mystic View Post
Well, the basic answer is that nobody is working on fixing the netcode because nobody WANTS to.
I believe this thread demonstrates otherwise, does it not? LXShadow had the will, and the means. Perhaps, if you spoke with him, middle ground could be reached, where he could toil away and implement a more SRB2-centric netcode model in your new version or something. I don't know.

In either case, this is certainly very exciting work. I wasn't able to say this before, but I will now: LXShadow, this is nothing short of incredible. I've thoroughly enjoyed working with you, for however short a time. :)

Last edited by Spazzo; 02-16-2012 at 03:49 AM.
Spazzo is offline  
Old 02-16-2012   #103
EternallyAries
That Aries Title
 
EternallyAries's Avatar
Default

I kinda find it funny that I was never credited in this at all. I was even the very first beta tester to this and I still don't got my name up there.

Anyway LXShadow did amazing job on the netcode. Even if there a BUNCH of problems in it. It still beats the hell out of SRB2 current netcode. Including the main modes that are mostly use in net games works now. Like Race, Match, and CTF.

And including LXShadow has been gone for sometime now as well. He told me he might have stop working on this mod. And he said anyone can work on it if needed as well.

So anyone here who has learned anything about C++ can work on this mod and maybe get it done. Who knows I have study C++ for a while now. So I might give this a go and finish it for him. That is if I ever get more time.
__________________
There is nothing much to read here.
EternallyAries is offline  
Old 02-16-2012   #104
Spazzo
Permanently Banned
Default

Aries, I remember doing test runs with you from time to time -- you asbolutely deserve credit. Don't take it personally, LXShadow had a lot of testers from the netgaming scene, so it must have been difficult for him to credit everyone, I'd bet.
Spazzo is offline  
Old 02-16-2012   #105
EternallyAries
That Aries Title
 
EternallyAries's Avatar
Default

Quote:
Originally Posted by Spazzo View Post
Aries, I remember doing test runs with you from time to time -- you asbolutely deserve credit. Don't take it personally, LXShadow had a lot of testers from the netgaming scene, so it must have been difficult for him to credit everyone, I'd bet.
Yeah I remember doing some of the testes along with you as well. And I do understand why he might had some difficult for him to credit everyone. Since he did do a lot of testing back then. And when I mean alot I mean alot testing with random people and alot changes has been done in this mod. I even remember back when I saw the very first alpha version the points did not even change when someone was shot.
__________________
There is nothing much to read here.
EternallyAries is offline  
Old 02-16-2012   #106
I'll Begin
 
I'll Begin's Avatar
Default

It's probably not worth asking because of the differences between Doom Legacy and GZDoom, but what's Skulltag's netcode like?
I'll Begin is offline  
Old 02-16-2012   #107
LXShadow
Default

Wow. Well, I've been following this topic for a few days now and it's been great to see some more in-depth views of this mod. Now I'd like to express a few of mine!

Virtually everything SpiritCrusher said has hit the nail on the head. SRB2CS was made to be an alternative to SRB2's standard netcode; more importantly though, it was meant to be a fair alternative (so, to a degree, it was intended to be an overall improvement). My original motivation to make it came from the fact that, being a European player, it's very hard to come across as competent amongst the American community, even with five years' playing experience. Playing SRB2 can be a challenge that never satisfies: if you're the host, you're playing unfairly against a weaker competition and feel bad about it; if you're a client, you're not annoying anyone with your advantage, but you are forced to look bad. Also, winning is more fun than losing IMO. =(

It was also meant as an opportunity to allow communities in remote areas to grow. Europe isn't the worst place; I feel bad for anyone in Australia who wants to play competitively online. I can bet that there are 0 competitive Australian players at the moment, and that it'll stay that way: whenever one comes along, they will have nobody to have a good game against!

Quote:
Originally Posted by Blue Warrior
Well hell, I'll be the first to admit it isn't stable, but at least it's a start.
Thankyou!

Well, I'll mention this now in brutal honesty. When development on SRB2CS really took off, that was the goal I had in mind: to make a start. The fact is, as a unofficial second-hand mod I believed (and still do) that SRB2CS wouldn't be worth much unless it had support from the official dev team. SRB2CS was always meant to be a proof-of-concept as far as I was concerned, and, to be honest, I was trying to impress the dev team with it. I was hoping you guys would pick it up as an alternative in-game option, and make it 'official': official enough for it to get more than just a few players. It was never in my own intentions to finish it completely - being a concept so ambitious, I couldn't stand working on it as an unofficial mod.

Quote:
Originally Posted by Spazzo
In either case, this is certainly very exciting work. I wasn't able to say this before, but I will now: LXShadow, this is nothing short of incredible. I've thoroughly enjoyed working with you, for however short a time. :)
Thanks Spazzo- it's good to see you're still alive! It was great fun working together, even if I acted more than a little pessimistic about it at the time. =P

And the same goes to the all the other doofs! =P I won't write any names - just in case - but you know who you are!

Quote:
Originally Posted by EternallyAries Red X
I kinda find it funny that I was never credited in this at all. I was even the very first beta tester to this and I still don't got my name up there.
You totally deserve credit Aries! I tried to cover that in the first post, but it's really hard. To be honest, there was indeed quite a few other people who I tested privately with, and I didn't want to mention any names for the sake of avoiding missing someone out.

That, I'm afraid, includes anyone who knew about the 1.09.4 alpha-beta-beta-alpha version. Because that was a long time ago!

You were a big help though and it was a lot of fun; thank you!

-------------------------------------------

It's hard to say this, but as for the future of this mod: I'm out. I'm sorry, it's not that I don't care about the people who have offered so much support - probably more than I ever realised - for this mod, it's just that my dedication to SRB2 has long since waned. I don't think it's uncommon, for people my age, to realise they could be moving on to something new. That's what I'm doing... sorry =/

It would be great if development on SRB2CS could be picked up by others, but I don't expect that to happen, nor will I ask for it.

With that, I'd like to thank everyone who played and supported this mod. It was great fun!

As for me, well, I think my code will do better elsewhere. I'll still be watching the forums for a while though- I'm not gone just yet! =D
LXShadow is offline  
Old 02-16-2012   #108
EternallyAries
That Aries Title
 
EternallyAries's Avatar
Default

Well its about time you post something LXShadow. Been wondering if your dead or alive lately anyhow. =P

Anyway i had a lot of fun testing with you as well LXShadow.

Most of my testing was done with you and Spazzo anyway. =P

I'm never gonna forget the time when you and I had a real match in SRB2 with out the control lag. It was so damn much fun that we gotta do it again one day when we got a full server.
__________________
There is nothing much to read here.
EternallyAries is offline  
Old 02-17-2012   #109
I'll Begin
 
I'll Begin's Avatar
Default

Quote:
Originally Posted by LXShadow View Post
It was also meant as an opportunity to allow communities in remote areas to grow. Europe isn't the worst place; I feel bad for anyone in Australia who wants to play competitively online. I can bet that there are 0 competitive Australian players at the moment, and that it'll stay that way: whenever one comes along, they will have nobody to have a good game against!
I'm Australian! :D

I may have one of the fastest consumer connections in Australia, but if the server's American then I get at least 200 ping even if their connection is good too. It's ridiculous.
I'll Begin is offline  
Old 04-03-2012   #110
fox Unit 01
Dinner with a fox in a box?
 
fox Unit 01's Avatar
Default

I never thought I'd see the day. This looks so promising.
fox Unit 01 is offline  
Old 01-06-2013   #111
-12
 
-12's Avatar
Default Help Wanted!

I think I'm doing this correctly but for some reason it says I don't have srb2/srb2.wad file or something like that. Please help me ):
-12 is offline  
Old 01-08-2013   #112
MascaraSnake
aka SpiritCrusher
Moderator
 
MascaraSnake's Avatar
Default

You need to put it in the same folder as SRB2 itself.
MascaraSnake 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 AM.


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