Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Let's talk lag!
#1
I could either write a whole bunch of paragraphs asking questions, talking about lag.. All that good stuff, but I'll try to keep it quick. 

But what I'm really interested in is why Goonstation lags so very much, even when almost nothing seems to be going on you can expect a lot of lag. I didn't want to say things like what I'm about to say, but compared to other servers, which yes I do go on when there's 4 players on the server, all of which are afk in spectator mode... Compared to other servers like Yogstation (probably the main focus here) and Hippie seem to not suffer from lag to the extent Goonstation does.

Yes they can lag from time to time, but from my experience on tasting all the pies I've noticed Goonstation is the worst for it.

Is it a funding problem, not being able to afford a more premium server?

Is it simply that Goonstation runs a lot faster, things happen a lot faster and there's simply more content the server has to deal with?

Could it be stamina or perhaps how fast parts of the station can become un-pressurized?

Don't get me wrong here, I'm not angry, and Im not trying to beef up other servers, Goonstation will always be Spacestation for me. Lag does really really suck though, and i'm just really curious as to why Goonstation seems to suffer from lag far worse than the competition ?
Reply
#2
Since TobbaLighting (blessed be!), atmos and deletion seem to be the primary culprits of escalating lag, at least from a player viewpoint. Deletion is already fairly intelligently handled, but atmos is apparently deep murk code that nobody wants to tinker with in case it breaks everything forever.

That's unfortunate, because nearly every single round the idiot spacemen can't resist punching holes in the hull or starting plasma fires.

That said: If Goonstation wants to set up a Patreon or something, that is something I would absolutely chip in to. I've been playing this stupid game for so long for free it's starting to make me feel guilty.
Reply
#3
As far as I know Tobba (I think, could be a collection of admins. I think they pretty much keep to their own code here, though) is working on new atmos code. I imagine that will help, but I have no idea how far along it is.

I agree with Grayshift on patreon (or similar). Having an easier method to donate2day would be nice. If it isn't goonstation then it isn't ss13, for me.
Reply
#4
I started noticing the lag spikes just after the server reorganization. There used to be 4 servers: LLJK1(US), LLJK2(US), LLJK3(EU) and LLJK4(EU).
Somewhere at the start of 2016 it was changed to 3 servers, presumably to concentrate server-population: LLJK1, LLJK2 and LLJK3(RP).
From my experience:
LLJK1 shows at the top of Byonds server list, presumably because it has the lowest latency in general. However, ping-time will frequently spike.
LLJK2 is mostly empty and is very low on the list.
LLJK3(RP) always has a few players.

Since most of the population on Goonservers is on 1 server, and there are no location divisions for the servers any more, everybody in the world who plays Goon is on 1 server.
Could there be more lag on the server because the players on that server are more geographically spaced out?
If so, why is LLJK2 consistently the lowest on my server-list, even though it is unlikely that the one other player is based in a very remote location compared to everybody else on LLJK1?
Reply
#5
(01-23-2016, 02:38 PM)The Grim Sleeper Wrote: I started noticing the lag spikes just after the server reorganization. There used to be 4 servers: LLJK1(US), LLJK2(US), LLJK3(EU) and LLJK4(EU).
Somewhere at the start of 2016 it was changed to 3 servers, presumably to concentrate server-population: LLJK1, LLJK2 and LLJK3(RP).
From my experience:
LLJK1 shows at the top of Byonds server list, presumably because it has the lowest latency in general. However, ping-time will frequently spike.
LLJK2 is mostly empty and is very low on the list.
LLJK3(RP) always has a few players.

Since most of the population on Goonservers is on 1 server, and there are no location divisions for the servers any more, everybody in the world who plays Goon is on 1 server.
Could there be more lag on the server because the players on that server are more geographically spaced out?
If so, why is LLJK2 consistently the lowest on my server-list, even though it is unlikely that the one other player is based in a very remote location compared to everybody else on LLJK1?
Actually they are LLJK1, 4 and 5(RP)
Reply
#6
Tobba mentioned that with the release of byond 510, new atmos code might be more feasible to make.
Reply
#7
I thought it could be to do with atmos, but at the same time.

Air is so quickly sucked out of the station now that surely any lag it produces is over in a matter of seconds?

Or is it that air keep pumping into the room and then is instantly sucked out?
Reply
#8
I think it's also something to do with the tick lag, or how fast things move. If you have a low tick lag the server sometimes lags while it calculates things whereas if you have a high tick lag there's no lag as such but the game moves slow.

Also the atmos getting sucked out and explosions happening is a big part of the game, you can't just ask people to not do that!
Reply
#9
I'm by no means a developer for Goonstation, even though i'd love to. I however do know some of the ins and outs of BYOND, and what could be causing some of the lag, i'll try to metaironysarcasm quotingexplainmetaironysarcasm quoting some of the questions raised here.



Some of you may know that BYOND itself is a single threaded language/engine, that means only one piece of code is being executed at a time If this were not true, you would have to worry a lot more about potential problems in your code. For example, if a spawned block of code like the one in the previous example deletes objects from the world, it could cause trouble if code elsewhere were simultaneously using those objects. If the code attempted to access variables or procedures of deleted objects, it would crash, possibly leaving some important operation half finished.

Quote:But what I'm really interested in is why Goonstation lags so very much, even when almost nothing seems to be going on you can expect a lot of lag.

Lag as you like to call it, depends on a lot of things, here are a few examples of things that can cause temporary lag.
  • Your own connection towards the server can be a cause of lag.
    • LLJK4 Is hosted in the EU, this will mean that US players will have higher latency towards this server.
    • LLJK5 Is hosted in the EU, this will mean that US players will have higher latency towards this server.
    • LLJK1 Is hosted in the US, this will mean that EU players will have higher latency towards this server.
  • Large explosions.
    • During large explosions both atmospherics and lighting needs to process a lot of update, which causes a light strain.
    • Items need to be removed, and new ones need to be spawned in, even with pooling this can still cause a light strain.
  • Large fires.
    • Large fires can cause a strain on the server due to the way atmos works, even with some of the work that Volundr and Tobba have put in there are still ways to completely grind the server to a hold.
    • The main reason why atmos is still as-is is because it's a terrible mess to work with, Tobba is however working on new atmos code.
  • Large chemical reactions.
    • Large chemical reactions that create a lot of items, smoke or foam cause strain on the server
    • This is because object creation and deletion is expensive, even with proper pooling, it still causes a mild strain on the server when someone fills a flamethrower with chocolathe.
  • Anything that creates a large amount of items, objects, or actions within a short amount of time
    • As mentioned above, creating and deleting items is expensive, if you create a lot of smoke, or even chocolathe with a flamethrower you will cause some mild strain on the server, all codebases suffer from this, yes even /tg/ and the others, go try.
  • Millions of bees, and other critters.
    • Critters, bees, and other critter-like things need to be updated each few ticks, otherwise they'd just sit still, now imagine if you have millions of those sitting around, yeah.. don't order millions of bees because it looks cool, it'll just grind the server to a halt and make coders weep

Quote:Is it a funding problem, not being able to afford a more premium server?

Once again, i'm not a Developer or Administrator, but as far as i'm aware we're still using the same servers, and hosts we've used in the past, Rick currently hosts #1, Tobba hosts #4 and Wire hosts #5.

I don't have insight in the specs about #1 and #4, but i do know that #5 is running on a pretty beefy server, but keep in mind that this server also hosts the forums, unless this was changed.

Quote:presumably because it has the lowest latency in general. However, ping-time will frequently spike.
This is wrong, servers are higher in the list because they have more players, this has nothing to do with latency.
Reply
#10
So, in conclusion: Yes there's lag, give it some time because it's being worked on, and Tobba is a code wizard/ the second coming of space Jesus?
Reply
#11
(01-24-2016, 10:45 AM)Mageziya Wrote: So, in conclusion: Yes there's lag, give it some time because it's being worked on, and Tobba is a code wizard/ the second coming of space Jesus?

Lag depends on multiple factors, player actions and interactions with the game can add or remove lag, i've seen destiny rounds with 50 players where there was zero to no lag.

Also, yes Tobba and Volundr are magical code wizards.
Reply
#12
(01-24-2016, 10:13 AM)ErikHanson Wrote:
Quote:Is it a funding problem, not being able to afford a more premium server?

Once again, i'm not a Developer or Administrator, but as far as i'm aware we're still using the same servers, and hosts we've used in the past, Rick currently hosts #1, Tobba hosts #4 and Wire hosts #5.

I don't have insight in the specs about #1 and #4, but i do know that #5 is running on a pretty beefy server, but keep in mind that this server also hosts the forums, unless this was changed.

Hello! This isn't necessarily applicable to the topic at hand, but here's some updated info about exactly what I host:
  • #5 (destiny)
  • These forums
  • The wiki
  • Headsurgeon IRC bot
  • Spacebee IRC bot
  • Goonhub (currently different server, am moving to same server shortly)
  • spacestation13.com (as of yesterday)
  • Central in-game ban data (soon to be player notes data also)
  • Central CDN for game server (cdn.goonhub.com)
This is all on a server hosted in Canada (not EU) with the specs:
  • Intel Core i5-3570s (4 core, 3.1ghz)
  • 16gb RAM
  • 100mbps network pipe
  • 2tb HDD
Reply
#13
(01-24-2016, 10:13 AM)ErikHanson Wrote: Some of you may know that BYOND itself is a single threaded language/engine, that means only one piece of code is being executed at a time If this were not true, you would have to worry a lot more about potential problems in your code. For example, if a spawned block of code like the one in the previous example deletes objects from the world, it could cause trouble if code elsewhere were simultaneously using those objects. If the code attempted to access variables or procedures of deleted objects, it would crash, possibly leaving some important operation half finished.


this is gonna be a harsh comment directed at byond devs : seriously fuckin semaphores been around for forever, why is multithreading such a problem argh
Reply
#14
Quote:this is gonna be a harsh comment directed at byond devs : seriously fuckin semaphores been around for forever, why is multithreading such a problem argh

They tried, it ended badly, its mostly due to how the VM is setup and the internal string stuff works.
Reply
#15
(01-23-2016, 02:19 PM)TheOnlyRyan Wrote: Compared to other servers like Yogstation (probably the main focus here) and Hippie seem to not suffer from lag to the extent Goonstation does.

I'd like to address this by saying that most other servers run a much higher ticklag than we do. Effectively, this means that stuff happens a lot slower. The way to look at it is that other servers basically throttle the rate at which things are processed - so they're creating a situation where there is no perceived lag.

The easiest way to compare this is to consider this - as far as I know, every server including ours allows one tile of movement per tick for a fully healthy human on Run. A tick happens once every ticklag/10 seconds - thus with a ticklag of 1, you get 10 ticks (frames) a second, while a ticklag of 0.5 gets you 20 ticks per second.

So what does this mean in practice? It means that we're processing stuff a lot faster than other servers, at the expense of perceived smoothness - this is basically the cause of the choppiness you may experience. In my opinion, this feels more responsive than a low fps server.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)