What is Lag?

I get a few reports of “lag”, and while I really appreciate the reports, just hearing about lag by itself isn’t enough to diagnose a problem, because there’s a lot of different kinds of lag. It’d be like a doctor trying to treat cancer just from hearing “it’s cancer.” Gotta know what kind, at the very least! So here’s a quick guide to the kinds of lag you might see:
 

CDN Lag

Symptoms: It takes forever to download the game levels. Or when you get into the game, the “fog” of dynamic objects doesn’t disappear for a very long time.

Cause: This is caused by a problem with our Content Delivery Network (CDN). Basically we use an Amazon service to deliver the game files to you. The files are placed on computers all over the world, so no matter where you are, you should get a good connection speed. (That’s the whole point of the CDN: faster downloads.)

This can break because, well, Amazon’s CDN isn’t always the most pervasive CDN out there. There are some areas where it doesn’t give a good connection 100% of the time. I can’t necessarily do anything about that, but I still want to know when and where it’s happening so I know how seriously it’s affecting people.

It can also happen if you’re very unlucky: the files on the CDN get “refreshed” once per day, and if you’re the first person into the game after a refresh, you’ll end up having to wait for the files to be downloaded and cached by the CDN before they get delivered to you. This is especially bad right now because you might be the only person online at certain hours of the day, and might have to wait for a whole lot of files to get refreshed.

Alternative Diagnosis: It’s also possible for the “fog” to never go away because of a game bug. Basically if there’s a problem while downloading, the fog can get stuck. You can see if this happened by bringing up the Debug Console (Ctrl+Shift+the * on the num-pad). If you scroll down in that console you’ll see error messages if that’s what happened.

Reporting: Let me know where in the real world you are (general country/state/province). If it’s only a certain object that remains permanently foggy, let me know that too.
 

Graphics Lag

Symptoms: The game seems choppy, the camera jerks around, and things blip about. In the worst cases, it’s like you’re watching a slide show on your screen.

Causes: This can happen for lots of reasons, but the main reason is that the graphics in an area are too heavy for your computer or video card. I still have a lot of clean up to do in that regard. But if you notice graphics lag where there wasn’t any before, that’s important for me to know!

Graphics lag can seem to fix itself after a minute. This happens because the game detects the lag and automatically down-grades your graphics quality until the lag disappears. That fixes the lag, but the world looks uglier. The game might also periodically try to raise the graphics quality back up, which may cause occasional bursts of lag to reappear. You can turn off this automatic raising/lowering feature in the options. Under Graphics, look for the checkbox at the bottom labeled “Auto-lower graphics settings”.

Reporting: When reporting graphics lag, see what your FPS (frames per second) is. This is shown at the bottom of the bug reporting window. Also let me know if this has happened before, and if it’s reproducible in one area or seems like a sporadic thing.
 

Main Server Lag

Symptoms: You click on something in the world to interact with it, like picking up an item off the ground, but it takes a second or more before it works.

Causes: There’s two causes: the server could be having a hard time keeping up, or you could have a bad connection to the server. Check the “ping” number on the Bug Report window. If it’s over 1000, that means the server’s connection to you is sluggish.

If that number is low (250 is a good low ping), and you’re still seeing lag, the server is probably freaking out. A few weeks back this was happening a lot due to a memory leak that left the server starved for resources, but I think I have this all fixed up now.

As far as I know there’s no main-server lag anymore: the corresponding meter on my admin screen is a beautiful flat line. So if it happens again, its very important to hear about!

 

Chat Lag

Symptoms: You try to chat, and the words take a long time to show up.

Causes: This can happen if the chat module gets bogged down. But first, make sure this isn’t Main Server Lag, above. Try throwing an item on the ground. If you can interact with the world just fine, but chat still takes a long time, it’s chat lag.

It’s pretty much impossible for only chat to lag right now, because the chat server is currently living together with the main server, so if your chat lags, the rest of the server should be lagging too! But in a few months this will be a separate kind of possible lag.
 

Monster Lag

Symptoms: You can pick stuff up off the ground just fine, and talk to NPCs, but when you try to fight a monster, they react sluggishly — possibly taking two or three hits to the face before they fight back. Your knockback attacks may also take a second before the monster starts flying backwards.

Cause: This happens because the physics sub-server gets bogged down. Each “zone” of the world has a program that makes the monsters fight and makes NPCs move around. If they get bogged down, things can’t move or fight well.

This is happening more than I like right now because I don’t have enough computers to run all the physics sub-servers, so they can get starved for CPU. I’ve ordered new hardware to fix this soon.

I can usually tell when monster lag happens because I see it in the error report on my admin dashboard. However, I still appreciate hearing when it happens! It helps validate the admin panel reports.

 

Stuck Player Lag

Symptoms: A “stuck player” just can’t move. The world seems to be acting just fine around them, but they can’t friggin’ move, or they can’t control their character. (And it’s not because a monster Stunned them or because they’re dead.)

Cause: This isn’t usually “lag” in the sense of something taking too long. It usually happens because of a game bug. The most recent case was when I set up the animations wrong on animals, so players who were Deer or Cows would be unable to move for a second whenever they talked to an NPC.

Reporting: Since this is usually a bug, I need to know exactly what you were doing, as best as you can tell. If you were talking to an NPC, fighting a monster with a certain ability, etc. Whatever you can tell me will help me find it.

 

Rubber-Banding Lag

Symptoms: You try to walk forward a bit and then blip back to where you were, like a time warp happened.

Cause: This can happen if the server thinks you’ve moved farther than you should be able to move: it “bounces you back” to a place it knows you were a moment ago. The server does this to keep people from hacking their client and blipping through doors and such.

But I’ve actually got the rubber-banding logic turned off right now, so you really shouldn’t see rubber-banding lag. If you do, let me know about it!

 

Other Lag: Usually a Bug In Disguise

Most other “lag” is really a bug. For instance there’s currently a bug if there’s too many items in an area. Instead of old items being cleaned up, new items are getting wiped away instead! This will be fixed later today. But in the mean time, several players perceived it as “item lag”, because the items weren’t showing up when dropped. In actuality the items were being disintegrated one second after you put them down. Oops.

Anyway, I really appreciate all bug reports, and I definitely don’t want to discourage you from reporting a kind of lag that isn’t on this list. Just make sure to describe the behavior you’re seeing, so I can figure out the cause.

I’m bashing a lot of bugs, but we’re also adding new features and content, so new bugs keep cropping up. But we’ll get there! Things are going pretty well right now, actually, and I’ve got some new skills to launch soon, so I’ll talk to you about those soon. See you in game!

This entry was posted in Project Gorgon. Bookmark the permalink.

5 Responses to What is Lag?

  1. Have you thought of running physics server processes on client computers? A MMO that closed a couple years ago ran its AI on the clients. You just make sure that that particular client isn’t anywhere near where the server process is working to avoid possible cheating. You still run the risk of player collusion, but it is something to think about.

  2. Eric says:

    Actually I did think about that, and the Gorgon “engine” supports it! However, there’s a restriction of Unity that it can only emulate the physics of one area at a time, so it ended up feeling too abusable: all monsters were being controlled by other players in the same general zone. Just seemed… like asking for trouble. And since server hardware is pretty cheap right now, I figured I’d skip it for now.

    On the other hand, I intend to use that system for things that don’t matter too much. For instance in player houses, physics will be run by the people in the house. There’s no combat, so there’s not a lot of cheating potential.

  3. Pingback: Group Quest #114 – Tri-spec for some | Group Quest

  4. Rakai says:

    So, I’ve been sending as many bug reports as I can, are mine too minor or am I doing it properly?

  5. Eric Heimburg says:

    Just a backlog, you’re sending them in right, thanks!