• Advertisement

Archived

This topic is now archived and is closed to further replies.

Offline info to online game

This topic is 5267 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

the idea is the following. it is intended to be used for a mmorpg; the game would be playable off and online. the thing is that the offline part is more like a hq., a place where you can do various activities going from leveling up to raising up stat points. then when the player goes online, the offline info, would update the last saved online data. what do you think? can it be done, or has it already been done? thankx in advance.

Share this post


Link to post
Share on other sites
Advertisement
I would be very hesitant to do anything like that. What would happen is that the person would hack their client and tell the server that he is max in all stats next time he connects. You should basically have 0 trust in the client to calculate anything. Also for a MMORPG having an offline game does not really make much sense.

-------
Andrew
PlaneShift - A MMORPG in development.

Share this post


Link to post
Share on other sites
i mean, hacking occurs everywhere but you just cannot live with your head under a shell because of that right?
maybe i didn't explain right...
the idea came from the ps game: " the misdaventures of tronn bonne"
she has 40 bots that she has to train so she can send them into adventures. is a first person game i know, but i am trying to put it on a mmorpg to see how it would work. it's not the entire game that would appear online, it would be like a tamagotchi, you play little games, then you level up, then you go online, and there you have a fun way to level up not only hack and slashing.
i mean i just wont back up because some idiot minded hackie want to spoil it all!
there are programms for this kind of hacking. and there's always regular monitoring. also there can be limits of how many you could level up offline. but i mean in this game (above) training one simple bot takes the hell out of you...it could be like that.

[edited by - LaCelestina on August 19, 2003 3:47:13 AM]

Share this post


Link to post
Share on other sites
It would be VERY easy to cheat in any online game which can be played offline. An example would be the use of memory editors, which there are plenty of available. You simply search for a value inside the applications assigned memory, and change it to any value you want. For example, you could have 100gold in a rpg, search for the 100 in memory, and change it too 1000000000000000000000. If you do this in a well made mmorpg, the value will be checked on the server and found to be incorrect, if you do it on a game with no contact with the server, then there is no way you can check the value. Next timme the person logged back onto the server, the server would assume he got all this money offline, and just update the value. One person would find out this is possble, then he would tell his friends, who would tell there friends, and before you know it everyone knows about it, and noone will play anymore

Share this post


Link to post
Share on other sites
One way to overcome this would be the introduction of a history function. The programm could log (more or less precise) when and where money was added (player went into dungeon with x and came out with x+y), and when it was subtracted (player went into shop with x, came out with x-y + item a).
This should make the job of modifying a bit more difficult because you''d have to check quite a few places in the save file.

Next you could write a base to the savefile somewhere. Let''s assume the base is 100. So if the player has 100 gold you actually write 0. If he''s got 90 gold you write -10. You could change the base every time on random. So the player would first need to find out there is a base, and where the base is stored...

Then, if you feel really paranoid you could use AES or some other encryption standard, and change the key every time the player goes online.

Share this post


Link to post
Share on other sites
The base wouldnt work, as most memory game editors let you search for patterns in changing values stored in the memory, for example, you can have 100 gold in a game, then get one more gold, and search for the memory locations that have increased in value, then add another gold, and do the search again, after 5 or 6 goes the correct memory location is revealed. Many games have tryed this, it just doesnt work.

As to the records, would be an inconveniance, but people would still work around it.

Share this post


Link to post
Share on other sites
This idea was presented in an AD&D book and it concerned the fact that the AD&D rules don''t want people leveling up in the middle of a quest (for some weird reason - who knows).

Anyway, the advantage of the system is that it works nicely into the story line. It goes something like this:

Person is somewhere and is gaining experience (online or offline), however once he has enough experience to go up a level, he must first go back to his/her master/mentor/whatever for additional traning, confirmation, etc.

"No more traning do you require"
"Then I am a Jedi"

Some particularly organised "classes" could be worked in eaiser than fighters. In particular AD&D "druids" - there is a limit to the number of n-level druids on a planet at one time. On the other hand, perhaps a cleric must prove himself before he gets bestowed with the new level.

In any case. The point is that the user must log in and get his level-up approved by the server before it actualy happens. So even if they did hack themselves up to enough exp (and in any case, this should be as hard as posible), they would still need to connect at some point.

And nothing says you must approve their request. You could simply do a time-based thing, so they had to wait 24 hours (or so) before another level.

And finaly, this also lets you controll the leveling up process in code. Consider this possible implementation I just came up with. Whenever the user levels up, they are given a peice of code that is automaticly and semi-randomly generated. This bit of code is responsible for handling how level ups occure, where the data is stored, what format it is stored in, encryption codes, etc, etc. Each time they level up, the code is replaced (what the user currently has is tracked on the server). Then when they go to level up, the game sends the encrypted exp level, and the server decrypts it to check that it matches up.

And you could potentialy have millions of encryption keys and hundreds of algos and formats. Making the job of a hacker very hard and the job of making an automated crack to cover all cases even harder.


Another method (that is more suited to money than experience) is that a user can only carry so much money. So if they are outside the gaming world, there will be a limit to the ammount of money they can take out or bring into it.



In any case, it is very hard to prevent hacking of your code, but there are some methods that will help prevent the cheats.


Free Game: Yet Another Falling Block Game

Share this post


Link to post
Share on other sites
quote:
And finaly, this also lets you controll the leveling up process in code. Consider this possible implementation I just came up with. Whenever the user levels up, they are given a peice of code that is automaticly and semi-randomly generated. This bit of code is responsible for handling how level ups occure, where the data is stored, what format it is stored in, encryption codes, etc, etc. Each time they level up, the code is replaced (what the user currently has is tracked on the server). Then when they go to level up, the game sends the encrypted exp level, and the server decrypts it to check that it matches up.



You could use a memory editor to give you almost the amount of experience needed to level. For example, lvl 1 combat requires 100xp, you could give yourself 99xp, then kill something offline, and gain the level and the code.

Share this post


Link to post
Share on other sites
quote:

As to the records, would be an inconveniance, but people would still work around it.



Depends on how you do them. You could for example set limits to how much you can earn in a specific place. Dungeon(A) will only deliver up to Gold(x).

So, in your record you'll have something like:

Player.Gold() == x
Player.Visited.Dungeon(A)
Player.Gold() == x+y

Now, if y is greater then the amount Gold(x) the dungeon can provide something is fishy. The player could of course be clever enough to change Gold(x) as well, but that would be stored in some dungeon.ini file and not the save file, and the dungeon.ini could be verified every time the player goes back online.

Same goes for weapons and artifacts. If the player sells a certain item in a shop he'll be rewarded with gold. Again you can check that the change in gold before and after the transaction is not greater then the value of said item. Item values could again be stored in config files and be verfied once the player goes online.

Edit: Same goes for xp. Dungeon(A) has xyz Monsters. You cannot earn more then 'q' xp by slaying all of them. If you got more then q after finishing the level -> cheat.

[edited by - Wildfire on August 19, 2003 5:33:15 AM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Phantasy Star Online for the dreamcast had an offline and online mode. You could use the same character offline and online.

Even though it was on a console, it did''nt take more than a month of it''s release b4 ppl were hacking to lvl100 characters and duping items and gold.

Share this post


Link to post
Share on other sites
GOSH that''s horrible....
hackers are that terrible huh?...i would like to add a virus that would activate whenever anyone tried to mess with the files.a deaddly one....maybe that would stop it.....hehe

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
LOL! Hmm... I''m going to to do that in the MMORPG I''m making lol... Any attempts at cheating, and a virus is unleashed lol. >.<

I don''t think offline leveling up and the like should be included in something like an MMORPG. It would get completely hacked, and, as it''s an MMORPG, spoil the game for everybody, really. All items would lose value, just as in PSO... Well, common items would become rare... I met a hacker in PSO with a super rare weapon, and I was just using a Dragon Slayer (I usually use my bare fists, but I also equip for looks lol), and he said, "WTF is that!1?1!?! culd i borrow that plz? id giv it bak 2 u nxt time im online". Obviously, he wanted to dupe it - he''d never seen anything like it, even though it''s a common rare...lol. >.<

In the MMORPG I''m making, I am offering an offline mode, but it''s just a training thing where you get to test out abilities of each skill, and learn things without embaressing yourself online... ¬_¬

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Oh, and it''s Meseta, not gold.

Share this post


Link to post
Share on other sites
maybe you're right, uhm, when i first though about that offline mode, i though it was gonna be just for your pc's check up, but when i was writing i though of leveling up stuff, and wrote it down. the thing is that i was thinking in all those poor 56k users who have to wait until " mommy's done talking with the important ppl..."and so on...or maybe when you have to go out, you could get a last look at your stats....maybe with a mini game or two, it's just entertainment i mean...

i still think the virus thingy is nice ....:-)

[edited by - LaCelestina on August 20, 2003 9:38:39 PM]

that would also help with the lag....bad, bad lag....

[edited by - LaCelestina on August 20, 2003 9:40:32 PM]

Share this post


Link to post
Share on other sites

  • Advertisement