Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


A mmo related programming issue , unlock game features


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 Lee_Hillvith   Members   -  Reputation: 143

Like
0Likes
Like

Posted 25 October 2013 - 03:48 AM

Hi, guys

 

Currently I am having a tactical issue on some server programming stuff, really would like some suggestions

 

Basically I want to implement a module to unlock specific game features for players, say unlock blacksmith shop for all players who reach Lv 10. I am doing this by reading server config files.

 

Considering the following situation: A player reached Lv 8 and went offline and some game designers decide to change the config file during a server upgrade (Note: Now blacksmith shop unlock at Lv.5). So when this player come online again, he will discover that he is never going to unlock the blacksmith shop.

 

Is there any smart solution to this issue?

Of course I can keep the old config info with player data and compare it with the new data when player goes online, but that's definitely a awful idea since making thousand of players keep a portion of same data would be stupid.

 

Cheers

 

Ben

 

 

 

 



Sponsor:

#2 Waterlimon   Crossbones+   -  Reputation: 2601

Like
0Likes
Like

Posted 25 October 2013 - 04:55 AM

If the requirements change you could simply recheck it for all players, whether they still meet the requirements.


o3o


#3 conq   Members   -  Reputation: 354

Like
2Likes
Like

Posted 25 October 2013 - 05:43 AM

You're approaching this the wrong way. Enforce using the blacksmith at the client level, and check the transactions on the server.

 

The user's client should say (if he's under leveled) "You aren't high enough level to use the blacksmith". But if he sends the transaction anyway via cheat, the server should say "He shouldn't be able to try using me" and reject it. Log that event so you can debug/ban hackers of course.

 

Pretty much all your systems will need to work like this is you're making an MMO.

 

Check if possible on client > send transaction > Check if possible on server >



#4 tharealjohn   Members   -  Reputation: 451

Like
0Likes
Like

Posted 25 October 2013 - 10:17 AM

I agree with conq. 

 


So when this player come online again, he will discover that he is never going to unlock the blacksmith shop.

 

Notify the user when they log back in "Hey, the blacksmith is now available to you". However you implement that is up to you. With doing that, they will at least now know it has changed and available. 


jmillerdev.com

Follow me @jmillerdev


#5 wintertime   Members   -  Reputation: 1799

Like
0Likes
Like

Posted 25 October 2013 - 05:35 PM

To me it seems much simpler to only compare the character level on the server for a single npc only at the moment a user clicks it, than exchanging large config files for the vast number of all the different npc on the whole world every time something changes and do double/triple checking.



#6 Lee_Hillvith   Members   -  Reputation: 143

Like
0Likes
Like

Posted 25 October 2013 - 09:53 PM

Thank you guys, you guys are inspiring! I have discussed with our client guy, turns out they have already wrote a re-check method for this

 

player online -> Server send unlock info -> Client Compare it with new client config -> Client Send transaction  -> Server check again ->unlock blacksmith






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS