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

Re: dublication bug



There is probably only one way to fix this bug which would be to
have an option to refresh all maps and return player to a specified
starting place when server crashes.

If it is really so easy to crash the server then that should be
the developers number one priority.  Maybe a server should be
set up someplace with its only purpose being a debug server
to handle attempts to crash it.

I am unclear why crashing a client should ever be able to crash
the server.  All input from a client should be verified before
being used.  The lack of a client to send output should be an
easy enough check to save player.

There is the ongoing question of what to do about a player that
abnormally disconnects (ie client crashes).  If character is saved
on the map then player can cheat by logging in again after this or
nearrby maps refresh in order to collect treasure yet again.  If
character is saved to a safe location then player can cheat by
crashing client to abort imminent death.  I see only one solution.
Associated maps (ie a dungeon or quest) cannot be allowed to refresh
if there is a character on any one of those maps.

This could actually be relatively easy to implement.  There could be
an empty file MAP_ROOT located in the directory at the top of each
particular dungeon or quest.  When CF looks to refresh a map it
searchs up the directories looking for a MAP_ROOT file.  If not found
then it can refresh.  If found then it checks all active maps with
that path prefix for any players.  If those active maps contain a
player then this map is not refreshed.

							sdw

>Date: Sat, 17 Jun 2000 14:35:55 +0200 (MEST)
>From: andi.vogl@gmx.net
>To: rte-crossfire@listserv.real-time.com
>Subject: dublication bug
>
>Hi everyone,
>
>I want to get rid of a bug that most of you might already be familiar
>with. I´m talking about the "dublication bug", a way to dublicate 
items.
>It´s actually more a cheating-trick than a real code-bug but I still
>refer to it as a bug.
>
>For all of you who still don´t know, here´s a description how it works..
>Unfortunately, there are two different ways (that is important if we 
try
>to get rid of it):
>
>Variant 1: (one char needed, changing maps)
>1. Save your character on map A
>2. Drop the item(s) you want dublicated on map A
>3. Leave map A and crash the server (hundred ways of doing so) on map B
>4. Reconnect and return to map A. You will now find the item(s) both in
>   your inventory and on the floor where you dropped them.
>
>Variant 2: (two chars needed, no changing maps)
>1. Save character A, who has the item(s) in his inventory
>2. Char A drops his item(s), char B picks them up
>3. Save char B and crash the server
>4. After reconnecting, both chars have the item(s) in their inventory
>
>I think everybody should agree that this bug is very annoying. It is 
one
>major reason why playing crossfire gets too easy after some time.
>Pleople use it to create heaps of potions, diamonds and improvement
>scrolls. Of course one could refuse to seize the bug, but it won´t be
>fun collecting stuff while you know that you could also get it all in
>a second. I´ve met newbies online, hoarsing around with improvement
>scrolls and asking me if I could need a few hundred... that is not 
okay!
>And not to forget that server-crashing could be greatly reduced by
>fixing that bug too.
>
>Now straight to the point: How to get rid of that bug?
>It has already been discussed a few times, but never with any good
>results yet, as far as I know.
>
>The best way of course would be to prevent any possibility for a player
>to crash the cf-server intentionally. Unfortunatly, I believe this is
>impossible. There are hundreds of different ways to crash the server -
>most people are actually crashing their client to bring the server 
down.
>And one can never prevent players from using crashable clients.
>
>So we gotta find other ways. The only one I can think of is to save
>characters automatically at specific points of play:
>(You might realize now that this problem starts getting related with
>the `checkpoints´ issue!)
>
>- Characters should get saved automatically every time they apply an
>  exit and change maps. That would prevent usage of version 1 of the 
bug.
>
>- If one character saves on a map, all other players on the same map
>  must get saved too. I know this sounds a bit nasty, but I cannot
>  think of another way to prevent usage of bug version 2.
>
>Fortunately, saving a char takes no time, so it shouldn´t be a
>disadvantage if players get saved more often. These new saving-rules
>could help to fix the `checkpoints issue´ as well (what happens to
>players after a crash?). If players should wake up at certain
>checkpoints after a crash, it will be necessary to save them at least
>once they enter a new map anyway.
>
>
>I would be glad to hear what other people think about that issue. 
>And of course, if anybody can figure out better ways of how to fix the
>dublication bug - tell me! =)
>
>  					Andreas Vogl
>
>
>-- 
>Sent through GMX FreeMail - http://www.gmx.net
>
>
>---------------------------------------------------------------------
>To submit a bug: http://bugzilla.real-time.com
>To unsubscribe, e-mail: 
rte-crossfire-unsubscribe@listserv.real-time.com
>For additional commands, e-mail: 
rte-crossfire-help@listserv.real-time.com
>