Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to cheat in crossfire v 0.91.5




   Thinking through the problem has given me a tentative solution:
    (Sorry this one is so long)

   Ok, lets face it currently even if the player is always saved at
home base the player still has a vested interest in crashing the
game.  Examples include: shops being reset with new items, dungeons
being reset with new monsters (for exp gain) and treasure.
   So far my solution (with the server I run) has been to figure out
how the players can crash the game and fix the problems.  I have found
out a lot of their ways but they learn new ways very FAST.

   However, I think I have just come up with a better solution:

  If you consider what characters can gain by crashing the game they
all seem to have a common denominator and that is the fact that the
 maps are "reset".
Instead why not have the crossfire maps get saved (like characters) in a
"current" state and when crossfire crashes and then gets restarted,
start the maps up in their "current" state.  I think there would not
need to be much new code as it would be very similar to the way the
maps are swapped out currently.  I think about 3 things would have to
be done:
  1)  Whenever a character is saved on a map, also save the map that the
character is on in the tmp dir for maps (this would not allow the
character to be more up to date than the map).  Should only slow down
the characters that are currently on that map (not sure how much it
would slow them down by though).
  2)  If crossfire crashes and restarts, if a map is in the tmp dir then
that means it still has time on it before it should have been reset   
if the game had remained up.   Therefore, we should again set up a
table to keep track of these maps (think only time time left to
removal from tmp dir needs to be kept track of internally) and if a
map is "requested" before it does a time "reset" reload from the tmp
version.
  3)  A few things will need to be added to the stored tmp map files
to accomodate this change. Things I can think of include:
    a) Time left to reset (if someone is in the map it is probably 
       the full 1hour or 2hours or whatever is set).
    b) Things that will allow the tmp dungeon map table to be rebuilt
       easily following a crossfire crash.

  I am not very familiar with the current way tmp maps are stored so
consider this a VERY preliminary sketch of a solution that really needs
to be HASHED out.  

   Jason Iness