• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

New Kaillera Server - In Development (20 minute lagout bug fix)

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
Greetings everyone. It's been a while.

What are two Jews to do on Christmas break? With me as cheerleader and Firo doing 92.718% of the work, we have successfully identified the "20 minute lag" bug and have proposed a fix. As of this post, the NY "galaxy black hole backup" server will be running a (theoretically) fixed kaillera server - based off of the public 1.02 emulinker source.

Note: Since this is based off of old source, many commands don't work yet - such as setting the maximum number of users in a room, lagstat, etc.. Also, even if the game appears to be full, you can join... so you can play teams even if it shows 2/2 users.

What we need: YOU! We need people to play lots of games (1v1s and 2v2s) on the NY galaxy server to test its stability. Is it better? Is it worse? Please let us know!

For the future: when more features have been added, this will become an open source project.

Love,
Firowna
 

KnitePhox

Smash Lord
Joined
Oct 17, 2005
Messages
1,838
Location
Chicago, IL
What was causing it to crash after 20 minutes?
its ~18 minutes on LAN, packet limit is 2^16

looks like this

65536 / 60(packets per second[aka frames..?]) = 1092.2666(seconds)

1092.266(seconds) / 60(minutes) = 18.2044minutes

i dunno what they did to make it godly, but it doesn't auto ds at 18mins anymore, obv need ppl with good internet quality to go beyond the 18min limit regularly(aka if you have ****ty net, ull still lag out etc)
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
^^ what he said is the gist of it. The code was designed to have the packet numbers "wrap around" from 65535 back to 0, but there was an error in the logic. That is now presumably fixed, but this version of the source is missing so much functionality now! I'm adding a little bit of it back now, and I'm sure Firo will continue this.
 

The Star King

Smash Hero
Joined
Nov 6, 2007
Messages
9,681
I pointed that out on the boards months ago ;P

^I noticed that double 18.5 minutes, 37 minutes, falls within "35-40 minutes", and LAN sends double the packets per second that Exc does. So I guess it has to do with that? Maybe this means Good connection lags out every 55.5 minutes?

If this is true it would suggest that after a certain number of packets sent it always lags out. If 60 packets are sent per second on LAN, than 18.5 minutes = 66600 packets sent (oh em jee Satan is causing us to lag out!). Just over 2^16, so maybe after it exceeds the 16-bit limit it lags out?

This is all speculation, sorry if I'm dumb lol
If everything I just said isn't complete bull**** then the exact times would be

LAN: 18 minutes and 12.2666... seconds
Exc: 36 minutes and 24.5333... seconds
Good: 54 minutes and 36.8 seconds
Average: 1 hour, 12 minutes, and 49.0666... seconds
Low: 1 hour, 31 minutes, and 1.333... seconds
Bad: 1 hour, 49 minutes, and 13.6 seconds

Assuming that the number of packets sent per second is exactly what the Connection type scroll bar says it is.

P.S. There should really be an easy way to type vinculums for repeating decimals. They're so much prettier.
I'll take 2% credit :troll:
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
I updated the server to support /maxusers, /maxping, and to prevent users from joining full servers. This next test version will probably go live later tonight.
 

JaimeHR

Smash Ace
Joined
Oct 25, 2005
Messages
912
Location
Mexicali, Baja California, Mexico
Do you know why the old emulinker always set the game's delay based on the users' connection type?

LAN: 2 Frames
Excellent: 5 Frames
Good: 8 Frames
Average: 11 Frames
Low: 14 Frames
Bad: 17 Frames

no matter if you have 0 ping + LAN the game will be at 2 frames for everyone. If your ping is high enough to give you 3 frames or more on regular galaxy you will drop FPS on the Test Server.

Well that's how it has been working for me back in the day and now that i tried out the Test Server I'm going at 30-32 fps on LAN ping 89, If i switch to Good - same ping my emulator plays at 60 fps.
 

Ownasaurus

Smash Journeyman
Joined
Aug 8, 2006
Messages
307
Location
NY
Hmm neither Firo or I noticed the lag, probably because we both live in NY and the server is in NY. Thanks for letting us know. Looks like we have a lot of updating to do before it is as functional as Emulinker X. Nevertheless, it will get there.
 

Nintendude

Smash Hero
Joined
Feb 23, 2006
Messages
5,024
Location
San Francisco
^^ what he said is the gist of it. The code was designed to have the packet numbers "wrap around" from 65535 back to 0, but there was an error in the logic. That is now presumably fixed, but this version of the source is missing so much functionality now! I'm adding a little bit of it back now, and I'm sure Firo will continue this.
lmao that's kind of hilarious actually
 

M!nt

Smash Champion
Joined
Jan 26, 2011
Messages
2,087
Firo and Owna you guys are amazing

played for a while with not one ds, the delay got steadly worse but not even that bad.
 

JaimeHR

Smash Ace
Joined
Oct 25, 2005
Messages
912
Location
Mexicali, Baja California, Mexico
If you are testing this server and your game is lagging, you should set your connection type based on how much ping you "Naturally" get when you log in (without spoofing). Spoofing won't change anything.

Required PING for playing SSB at 60 FPS on each connection type.
0-33 PING - LAN
34-66 PING - Excellent
67-99 PING - Good
100-133 PING - Average
101-166 PING - Low
167-199 PING - Bad
+200 Ping - GG, you'll lag foerver.

took the numbers using the delay calculator at p2p.kaillera.ru
 

firo

Smash Ace
Joined
Jul 27, 2008
Messages
600
Location
Champaign, Illinois
We will get this problem fixed soon, especially considering that there are some other effects of connection types (less keyframes). I also want to implement a /setdelay command so you can just enter a custom delay for yourself at the beginning of a game

:phone:
 
Top Bottom