Skip to main content
gamedev.net
🔒 Locked

blind server

Started by Kent767 May 16, 2004 at 4:57 AM 4 replies 1.1k views
Original Post
Kent767
Kent767
I work for MTA (www.mtavc.com)and we''ve run into some issues with syncronizing shooting correctly. (for anyone who hasn''t heard of it, MTA is a multiplayer addon for Vice City, operating via hooks and memory reading/writing) The problem stems from the fact that the server has for the most part been blind to game related data. We are working on a new core which will resolve a lot of these issues, however some are just unnavoidable. The server does not have any ability for physics and collision detection as it does not have access to the source code for Vice City. So the result is that we can''t detect server side wether or not a bullet grenade, etc, actually hits its target. We''ve come up with a few hacks to alleviate this but I''m always open to other suggestions people may have. It is a truly unique problem to try to conquer given the limited resources we have to work with. Any ideas? Kent
--------------------Kent's Amazing Cross Compilable Hello World Program!#include #define print printf #define caller void main(){ #define ref } caller ; print ("Hello World!n"); ref;
NaliXL
NaliXL
Only thing I can think of is doing hit-checking etc cliënt-side, and let all cliënts report back to the server what they think happened in the current situation. If both cliënts agree on what happened in a specific server, the server sends a "so be it" signal. If both cliënts have a "different opinion", the server should decide what happens based on some pre-defined rules. Like: "if client A sais player1 didn''t hit player2 and client B sais player1 did hit player2, then give the benefit of doubt to player2"....
Newbie programmers think programming is hard.Amature programmers think programming is easy.Professional programmers know programming is hard.
OmniBrain
OmniBrain
Have a "server-client" running, a thrusted client machine. Each game outcome is decided here. (Who gets hit etc)
-----The scheduled downtime is omitted cause of technical problems.
Kent767
Kent767
thanks for the input guys...

unfortunately having a dedicated version of the game is probably not practical, as the server will be ported to linux, (and Vice City does not run natively on linux)...

However, Also I get a bit concerned w/ leaving much up to the client, (let alone the overhead bandwith of each client trying to broadcast its outcome of a situation) Some of the ideas I was looking into was along the lines of raycasting serverside, but leaving the physics of each game to do the actual world collision detection, though there pose some security issues there as well, and some issues w/ guns that have variable bullet patterns.


Thanks,

Kent
--------------------Kent's Amazing Cross Compilable Hello World Program!#include #define print printf #define caller void main(){ #define ref } caller ; print ("Hello World!n"); ref;
Kent767
Kent767
yeah things like spawn points and stuff are taken care of serverside just about everything will be done serverside w/ the new version (within reason, its still pretty difficult to stop cheaters when trainers existed before it was multiplayer but we have a lot of cool new stuff to offer).. I''ll have to poke around w/ a debugger and see if i can find something in VC that can help out w/ controlling those seeds... but that may be stretching it a bit.

Kent
--------------------Kent's Amazing Cross Compilable Hello World Program!#include #define print printf #define caller void main(){ #define ref } caller ; print ("Hello World!n"); ref;

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.