<
>
 Thread (16 posts)
neverendings  11/30/08 8:23:58 PM

Rank: 61/100 Rank: 61/100 Rank: 61/100 Rank: 61/100 Rank: 61/100

Hard Core Member

Joined: 11/23/08
Posts: 31

Why dont the Devs listen to the players?

OK,

I've been thinking about this for a while now, is it better to have the processing handled on the client or the server side?  Server prevents hacking much better, but creates a huge load on the servers.... just a thought. 

neverendings Xfire Miniprofile
Barrikor  11/30/08 11:38:13 PM

Rank: 76/100 Rank: 76/100 Rank: 76/100 Rank: 76/100 Rank: 76/100

Hard Core Member

Joined: 12/06/07
Posts: 103

It's best for the client to only "render" the game world, once the game is live you will have no control over the client or the data it sends. If your game becomes popular there's bound to be someone who will disassemble your client program into asm or worse decompile it into something higher, hopefully you obfuscated it good, but sooner or later it'll be cracked, and if you're possessing anything important on the client-side you'll be in trouble. It happens often enough with normal multiplayer games, but on an MMO it'd be a disaster.

Never trust the client-side with anything important, don't trust the data from it either, everything sent to the server needs to be filtered by the server against SQL injection and other hacks, and validated to see if the data is probably real, instead being faked.

It IS good to do things on the client that will make it easier for the server to process later, but it's best to just leave it at that.

- Barrikor

Kralizec  12/01/08 3:29:57 AM

Rank: 10/100 Rank: 10/100 Rank: 10/100 Rank: 10/100 Rank: 10/100

Novice Member

Joined: 7/13/07
Posts: 29

As is usually said in programming articles dealing with host/client networking, think of the client as the enemy. Prepare for the worst and accept as a fact in your design that the player will always try to hack the client in every possible way.

When designing the server, suppose you're not interacting with the client you designed but with some guy who can send at will those messages your server is accepting.

 
polypterus  12/01/08 12:15:50 PM

Rank: 97/100 Rank: 97/100 Rank: 97/100 Rank: 97/100 Rank: 97/100

Elite Member

Joined: 8/25/08
Posts: 169

There is no single answer. Some things must be done on the client some things must (or should) be done on the server. Typically movement must be done on the client so that the game is responsive. Also collision detection must be done on the client, or at least for the player’s character (and possibly other PCs). Otherwise you will be running though walls if there is a lag spike. However there could also be code that does at least some minimal verification of movement and other data that the client is passing down. In addition rendering is obviously done on the client. In my view most other things should be done on the server to keep data consistent and prevent hacks.

 
paulscott  12/01/08 3:03:46 PM

Rank: 95/100 Rank: 95/100 Rank: 95/100 Rank: 95/100 Rank: 95/100

Elite Member

Joined: 12/04/05
Posts: 4306

why do humans build, because it isn''t there

The server has the final say in everything even when it would be something retarded like teleport a character.  You shouldn't even validate a lot of things like characters being out of range for an ability on the client.

 

Even stuff like smothing movement with stuff like collosion and pacing back and forth should only work for a fraction of a second client side. 

Tekton Corollary:
-"What does not kill me, makes me stronger"

-"What does not bore me, makes me smarter"

neverendings  12/02/08 12:36:40 AM

Rank: 61/100 Rank: 61/100 Rank: 61/100 Rank: 61/100 Rank: 61/100

Hard Core Member

Joined: 11/23/08
Posts: 31

Why dont the Devs listen to the players?

ya,

I guess I had thought that WOW had managed to eliminate hacking but then I did a search seems like they may have some serious issues as well.  I guess they must have some stuff happening on the client after all.

I guess I had thought about making the client able to time stamp stuff related to movement but EVEN  that wouldn't be reliable. 

The big question I'm working on now is what to program in.... Sounds like C# is good for a client program, but also sounds like a lot of people use exsisting engines to make their games.  Isn't that restrictive? 

What would you all suggest as a progaming language?  is it different for the server, client?

Thanks for the input in advance.

neverendings Xfire Miniprofile
polypterus  12/02/08 2:03:55 AM

Rank: 97/100 Rank: 97/100 Rank: 97/100 Rank: 97/100 Rank: 97/100

Elite Member

Joined: 8/25/08
Posts: 169

Originally posted by neverendings

The big question I'm working on now is what to program in.... Sounds like C# is good for a client program, but also sounds like a lot of people use exsisting engines to make their games.  Isn't that restrictive? 

What would you all suggest as a progaming language?  is it different for the server, client?

Thanks for the input in advance.

 C# is next to useless for client programming.  It may have some limited value on the server side but you still wouldn't want to write all your server side code in it. If you want to write a serious game you will probably end up programming in C++.  Using a existing engine can be limiting depending on how fancy you want to get.  However it will also save you a lot of time. In reality it's hard to write an entire game with one person.

 
neverendings  12/02/08 10:42:52 PM

Rank: 61/100 Rank: 61/100 Rank: 61/100 Rank: 61/100 Rank: 61/100

Hard Core Member

Joined: 11/23/08
Posts: 31

Why dont the Devs listen to the players?

I wish I could quit my job and work on it full time... but then I wouldn't have any electricity or internet or food or clothes or well you get the idea.  Anyone know a good venture capitalist? :) JK

 

One of my big hopes is that I will be able to break down this new world into manageable chunks  I was thinking of following the layout in the bible.....  Start with the land and sea then add light, vegetation.  I do have one drawback, I'm not immortal so I may die before I finish my project :)

neverendings Xfire Miniprofile
polypterus  12/02/08 11:08:53 PM

Rank: 97/100 Rank: 97/100 Rank: 97/100 Rank: 97/100 Rank: 97/100

Elite Member

Joined: 8/25/08
Posts: 169

Well I did quit my job and am working on it full time :) My plan is kind of what you said. I'm working on land and sea (i.e. the client program with the world). In my case it's a fractal world so it can be really large. In any case when get far enough to show a demo I'm going to try to get funding for more developers and artists or maybe get bought out by a larger company.

 
neverendings  12/03/08 9:37:43 PM

Rank: 61/100 Rank: 61/100 Rank: 61/100 Rank: 61/100 Rank: 61/100

Hard Core Member

Joined: 11/23/08
Posts: 31

Why dont the Devs listen to the players?

I'm just getting back into programming.  Let me know if you have anything simple you need hammered