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 ...
9
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 ...
7
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, ...
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 ...
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/...
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 ...
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-...
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 ...
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, ...
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 ...
5
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 (...
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 ...
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 ...
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 ...
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)
...
3
votes
Fixed timestep on the server without hogging CPU?
Sleeping is a valid solution and it's easy to implement. Pick a sleep duration that will use less CPU but still give you acceptable simulation accuracy.
An alternative solution is to use an event ...
3
votes
Accepted
Implementing game synchronization between clients and server
The server, as you probably know, is the one source of the truth in a game architecture like you're creating. The server is calculating "the truth" of position based on input to the clients, then ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
client-server × 375networking × 147
multiplayer × 90
server × 70
mmo × 41
unity × 35
architecture × 33
c# × 31
synchronization × 29
java × 23
security × 22
javascript × 20
node.js × 15
udp × 15
turn-based × 12
c++ × 11
android × 11
databases × 11
websocket × 11
movement-prediction × 11
first-person-shooter × 10
socket × 10
box2d × 9
interpolation × 9
anti-cheat × 9