Skip to main content
Share Your Experience: Take the 2024 Developer Survey
20 votes

How does mmorpg store data?

1000 player may or may not be a problem. It depends on how often you need to update the database. However there is a simple solution: put the database on its own server. I had a peek at how the ...
Theraot's user avatar
  • 27k
8 votes

How does mmorpg store data?

Both approaches are used with MMORPGs. Keeping everything in memory and periodically check pointing it to disk seems to be the most popular option, at least for older games. It has the advantage of ...
Ross Ridge's user avatar
7 votes
Accepted

Authoritative Server Movement and Collision

Making good multiplayer games isn't a trivial thing, we know. There are many aspects to care about: network architecture, machines synchronization, network delays, cheating... But, let's start one ...
liggiorgio's user avatar
  • 4,831
7 votes
Accepted

How to develop both a client and headless server together in Unity

Myself, I'd recommend keeping the server and client authored in a single Unity project. This minimizes the chance for mistakes where you change something in either the server or client and miss ...
DMGregory's user avatar
  • 135k
6 votes
Accepted

Networked projectiles in an authoritative server

This is what we ended up doing: Client side Detect player clicks button to shot missile Immediatley simulate rocket visuals on client In parallel, send command to server Once predict hit something, ...
Ron's user avatar
  • 656
6 votes
Accepted

Resolving prediction error from client side prediction and server reconciliation

I solved the problem on my own. My previous implementation of the networking engine made reconciliation impossible. The code I am using is private, though I plan on open sourcing the Box2D server/...
pjrader1's user avatar
  • 332
6 votes
Accepted

Why is server frame rate slower than client's?

It's not necessary. The reason why you need 60 FPS on the client is because you want the animations and movements to look fluent. But when it comes to just the game mechanics, 20 FPS is more than ...
Philipp's user avatar
  • 120k
6 votes
Accepted

Multiplayer RPG allowing offline solo play using server signed replays - how can you cheat?

A useful mantra to bear in mind is "the client is in the hands of the enemy". Any capability that you build into the client that can run offline is one that you have delivered in a gift-...
DMGregory's user avatar
  • 135k
5 votes
Accepted

How to organize messages queue in a fast-paced multiplayer game

You should implement your UDP reliable as TCP. On http://gafferongames.com/ you can read about packing packets, resending them, correcting errors. There is some pseudo-code (or this is written in C, ...
Jacob's user avatar
  • 2,552
5 votes
Accepted

Security concerns related to HTML 5 games

I would like to know if people could modify an HTML 5 game's code Yes. Like all web technologies, the client has full access to the local code; they can browse the source, modify it and send ...
Vaillancourt's user avatar
  • 16.3k
5 votes
Accepted

Inputs in realtime multiplayer game

It sounds like your problem arises from processing players' input eagerly, the moment it comes in. In this situation, it's harder to keep track of the context of the input and its timing/frequency ...
DMGregory's user avatar
  • 135k
5 votes
Accepted

What makes the network coding for MUDs different from that of MMORPGs?

I'm going to put forward the opinion that there is actually no netcode at all in a MUD server. I've seen the phrase 'netcode' thrown about quite a bit in multiplayer gaming - usually as a criticism of ...
Skrrp's user avatar
  • 186
5 votes
Accepted

How to set up server architecture using C++

That sort of middleware is a Game Engine From your diagram, it looks like you only want to write game logic and maybe a little bit of presentation/UI, and are looking for a piece of middleware to ...
Tim C's user avatar
  • 474
5 votes
Accepted

How to make an authoritative server assign turn order numbers to players once they join?

The server needs to know who is playing. The easiest way to do that is let the players report themself. When your game gets bigger, games usually use google, facebook or some custom login for telling ...
Zibelas's user avatar
  • 4,346
4 votes
Accepted

How do I smooth out latency jitter in my netcode?

Update: so this is the approach we decided to go for, both for the sake of testing our solution, and if it being a valid solution for future use of anyone else who might need it. So instead of ...
Ron's user avatar
  • 656
4 votes
Accepted

How could I implement origin re-base on my large world server?

One approach I thought of was scaling down everything and moving slowly to effectively make an illusion of large world. As mentioned above, reducing scale doesn't actually increase the usable play ...
DMGregory's user avatar
  • 135k
4 votes

Authoritative Server Movement and Collision

In addition to the excellent and compact answer by Giorgio Liggio: is it standard practice to send positions as the synchronized state between a client and server instead of a velocity vector? ...
Stormwind's user avatar
  • 1,063
4 votes
Accepted

Could executing OpenGL shaders sent from a server be dangerous?

I think the difficulty of successfully exploiting a machine through shaders is pretty difficult but not impossible or unprecedented. There's a small chance of that happening -- for example, there was ...
Jimmy's user avatar
  • 9,029
4 votes
Accepted

Multiplayer game, design of server <-> client communication

In Multiplayer games, it is usually good to have the server be the authority. This will solve many (but of course not all) problems with network issues, cheating and so on. You already mentioned part ...
Christian's user avatar
  • 2,067
4 votes
Accepted

How to properly handle sending arrow-key movement data to a authoritative server?

If you're using UDP then, as you say, you don't get reliability from your transport layer, so you'll need to build it into your game layer instead. In addition to the TCP style of detecting a missed ...
DMGregory's user avatar
  • 135k
4 votes
Accepted

Question-Answer Game with coin rewards, how to validate answer?

A little bit of both. This comes again and again. Your search terms are client-side prediction and client-side simulation. However, if I point you there, you are going to get something much more ...
Theraot's user avatar
  • 27k
4 votes
Accepted

How does an FPS like Overwatch have client time run ahead of the server?

But how does this get setup to begin with? The client connects to the server, the server starts a game... does the client jump ahead of it's own accord? (Server says "game is starting, I'm at ...
Filip Milovanović's user avatar
4 votes
Accepted

Networking a fast-paced game (2D) - Forced Movement - Server / Client

For example, another player stuns or slows down you, on the server, you will be slowed down or stunned There is a delay there, from when the player initiates the stun until it reaches the server. For ...
Theraot's user avatar
  • 27k
3 votes

Multiplayer game server sync

The clock speed matters less, as long as you make sure the server and the client game steps are kept in sync. This article by Gary Weiss discusses this issue. Essentially either the game loop on the ...
OpherV's user avatar
  • 655
3 votes
Accepted

JavaScript - Updating a canvas real-time... from server-side or client-side

You should keep a copy of the map on both the client and the server. Send updates from the server that propagate to the client. But trying to send a chunk of the map every frame is a recipe for ...
CobaltHex's user avatar
  • 2,248
3 votes

Sending a players mouse movement to the server in an FPS

Translate mouse input to rotation on the client-side. Then send the new view direction to the server, not raw mouse input. Usually there is more than one way to change the players view direction (...
Philipp's user avatar
  • 120k
3 votes

Unity Diablo style Multiplayer

I can give some comments on question 1 and 2. I am not able to answer question 3. Question 1 Remote server: If you have a remote server, you only keep one copy of the game remotely, not a copy for ...
John's user avatar
  • 264
3 votes

Save game on server side

I assume you know how you're going to send the file to the server and how your going to store it... To check integrity of the file you can do a few things: Check the the values in the file are ...
user3797758's user avatar
  • 3,641
3 votes
Accepted

Is there a "Least Terrible Method" for sharing Entities over Network?

Preface: I'm not familiar with Box2D, but these structures can be found in Boost Geometry (R-trees) if you are really interested, as well as other libraries: Premature Optimization (Don't Do it) ...
Krupip's user avatar
  • 1,763

Only top scored, non community-wiki answers of a minimum length are eligible