PDA

View Full Version : Run solo instances offline



valgreon
10-28-2009, 06:13 PM
Reducing server load reduces lag - at least that's what I'm assuming for this post. Seeing as how most modern (and some not so modern) personal computers can survive single player games I also assume that it is possible to run solo (and by this I mean that there are no other players running the quest) instances offline.

This would of course open the door for some rather nasty exploits - but it's fair to say that there are ways to make that difficult as well. Also the chat server, for one, should still be online so as not to lose the ability to fake that MM part of the game.

Checks as the player goes into an offline instance and again as they come back online should prevent blatant memory editing... Subtle ones would of course be harder to control.

Running solo instances offline would make others joining in after starting the instance little difficult, but that's a small detail among the sea of details - of which I'm probably missing the monsters.

Khafar
10-28-2009, 06:32 PM
This would of course open the door for some rather nasty exploits.Is this your entry for Understatement of the Year? If so, it's a great one :).

Seriously, there would be no end of the possibilities for exploits if you could earn any sort of nice rewards by running an offline client. With the right tools, virtually any security can be broken if players are on the other end of the connection (and we obviously are), and players are much better at that than even most seasoned developers would imagine. One time AC changed all of the encodings for the streaming protocol used to talk to the client, and they figured it would take weeks for someone to reverse engineer it again. In reality, it took less than a single day. Likewise, UO tried to put in some "anti-macroing" code, and spent 3 man-weeks putting in some good encryption around it. Someone broke it over a long weekend, so tons of effort were flushed right down the toilet. Even worse, players outnumber developers by many orders of magnitude, so they simply cannot chase that sort of thing around effectively.

That's why one of those Laws of Online World Design (http://www.raphkoster.com/gaming/laws.shtml) says this:


Never trust the client. Never put anything on the client. The client is in the hands of the enemy. Never ever ever forget this.If they were to let us run these dungeons entirely on the client, it would need to be for fun, not for rewards. Of course, that would require that they build some of the server AI into the client, and that level of detailed knowledge of how it works could open up even more exploits - this time in the online game.

Khafar

valgreon
10-28-2009, 07:04 PM
Is this your entry for Understatement of the Year? If so, it's a great one :).

...

That's why one of those Laws of Online World Design (http://www.raphkoster.com/gaming/laws.shtml) says this:


Never trust the client. Never put anything on the client. The client is in the hands of the enemy. Never ever ever forget this.If they were to let us run these dungeons entirely on the client, it would need to be for fun, not for rewards. Of course, that would require that they build some of the server AI into the client, and that level of detailed knowledge of how it works could open up even more exploits - this time in the online game.

Khafar


True enough, and I knew most of all that when writing the original post. However I'm still of the opinion that most work could be transferred to client from the server when soloing. Remain online just enough to run checks every now and then. Of course this all is redundant if Turbine gets rid lag - which they haven't.

I agree it's a can of worms... However I'm pretty sure no matter how tightly the server-client barriers are held up, there are always ways to get around, over or under them.

BTW, there is no reason to embed server code to client to get similar (or same) functionality - there are more than one way to every answer.

I got rid of most lag I experienced by uninstalling TDM... Go figure.