[MUD-Dev] Wild west (was Guilds & Politics)

JC Lawrence claw at under.Eng.Sun.COM
Mon Jan 5 18:29:16 CET 1998


On Tue, 30 Dec 1997 13:44:26 PST8PDT 
Felix A Croes<felix at xs1.simplex.nl> wrote:

> JC Lawrence <claw at under.Eng.Sun.COM> wrote:
>> On Fri, 26 Dec 1997 04:45:41 PST8PDT Felix A
>> Croes<felix at xs1.simplex.nl> wrote: [...]  

>>> How powerful will you
>>> be making your database query language?

>> I haven't addressed that part yet.  I hope to be able to make
>> detailed and incisive queries with it.  However, it will not be
>> avilable to mere users.  Quite likely it will be available
>> externally to the game only (actually this may be technically
>> required).

> I meant, the queries that users can make.  You can disguise making
> queries as time-travel, but the fact remains that a user is actually
> performing a log query (and may be using a client program that hides
> the particular interface of your mud).

Ahh!  Light dawns.  

Users are limited to selecting an object, and then inhabiting its
viewpoint.  They can then push or pull that viepoint back and forth
thru time.  

Admins will be able to create queries of the sort:

  Show me a list of all the players who have killed mobile XXX, cross
referenced with the list of all weapons spells etc used in their
attacks, sorted by the percentage damage they did per unit time.

The key difference is that players are limited to single in-game
viewpoints, and admins can do cross-DB and cross-time queries.

> Is a user query restricted to "what happened to <thing>/at
> <location> between times <X> and <Y>"?  Is it possible to replay
> sequences at higher speed than the original, or at lower speed?

Sequences can be replayed at any speed.

>> >Is > performing a log query a logged event?
>> 
>> You are confusing two seperate items here.
>> 
>> 1) The ability of users to use the DB rollbacks to time travel.
>> 
>> 2) The ability of a query language to do structured data
>> extractions from a DB and its rollbacks.
>> 
>> User players have access only to the first.  Such access will of
>> course be logged as part of the normal DB logging.  Structured
>> querying of the DB will not be logged as it is a DB external event.

> If there is a difference between the log available to users and to
> the mud administrator, that may become important as users discover
> ways to evade time machine probes, in the sense that they will ask
> the administrator for the information that is missing in their log.
> This may not be a problem, but I was under the impression that you
> wanted to avoid it :)

Agreed.  My only solution is not to publicise the ability, and to make
it well known that its is labour intensive (framing an exact query in
any DB language can be a bitch) when it is discovered.

>>> Specifically, if a player goes through the entire log, does
>>> this duplicate the number of log entries?
>> 
>> No.  If a player time travels everything he can possibly
>> time-travel, the only extra data logged for him are notations as to
>> the points and periods time-watched.

> So, if Bubba time-travels 6 days back and watches Boffo deposit a
> large sum of money in the President's re-election fund, the fact
> that he has watched this transaction occur cannot be ascertained
> from the log alone, 2 days later?  

Given that the logs are killed after 7 days (the limit is soft; I
picked 7 days as a not unreasonable value), neither the fact that
Boffo depositied the money, or the fact that Bubba time-watched him
can be verified.  All that can be determined is that Bubba
time-watched a certain time period and locus, and if the fund etc
still exists (ie the ObjecID's still resolve) that the fund was
involved.  

However, I don't intend to make second-degree watching (ie the ability
for a time watcher to to what a time watcher in the past was time
watching) available to users.

> And in general, you can avoid
> being caught at time-snooping of a particular event if you only
> watch those events that are about to be removed from the log?

Yup, and as long as the relevant objects no longer exist.

Note: I've an underground intention to make the actual log duration
closer to a fortnight, but to make the in-game depth only a week.  I
suspect that I'll have to reduce that however as I have only 16Gig to
devote to the game at the moment

>>> What if Bubba logged on once a week to record everything done by
>>> or to Boffo, and kept the logs for longer than a week?
>> 
>> Not a problem.
>> 
>> > What if Bubba publishes his logs after a week?
>> 
>> Not a problem.
>> 
>> > What if Bubba edits his logs before publishing them?
>> 
>> Not a problem as they are now unverifiable and as such worth less
>> than the electrons taken to display them.
>> 
>> > What if Boffo spams the log with trivia to foil Bubba?
>> 
>> He can't.  He can certainly live a very active MUD life with a very
>> high event rate, in which case he'll have a large history, but
>> that's another matter.

> Be careful not to make any statements about Boffo's intentions.  His
> active mud life might be solely to draw attention away from the few
> particular events that he wants to hide from Bubba.  Moreover, the
> activity might solely be due to a long "east, west, east, west,
> east, west, ..." command sequence.

True.  More specifically however, I just don't care about these points
as I don't see them as significant.

> Of course, if Bubba can put queries such as "how many coins did
> Boffo deposit in the President's re-election fund between times <X>
> and <Y>", no amount of activity will help.

Precisely, which is the reason I don't allow that level of querying to
users -- they have to work for that data.

>> > What if Boffo implements a cryptographic protocol for
>> communication > in the mud -- the encryption and decryption is done
>> by his client, > with some server-side support code?
>> 
>> Excellent!  More power to him.
>> 
>> > What if Boffo makes his crypto code generally available?
>> 
>> I bow in his presence.
>> 
>> > What if people start using Boffo's client for secure
>> communications, > who are unaware of the server it connects to, or
>> even of the > existance of your mud in general?
>> 
>> I don't see this as my problem as far as those users are concerned.
>> I do see this as my problem as far as the misrepresentation of my
>> services are concerned.

> I think the real problem is that once your users have switched to
> encrypted communications, you no longer have any indication of what
> is going on on your mud.  Users might be exchanging insults, or
> laundry lists, or pirated software, or anything whatsoever.  Even
> their actions may have an encrypted meaning.

True.  While I can imagine problems resulting from this, especially
legal, I have difficulty contriving a believable situation I would
find a problem (given that warez are far more popular and easier to
distribute by other means).  

> Your mud is not the only one on which this might happen, but it does
> encourage encryption -- especially with your stated policy of
> letting the users develop their own society.

<nod>

I would be utterly unsurprised if the users were to arrive at a
formation I really dislike.  As with any sole-proprietorship, I might
then just shut up shop, wipe the slate clean, return everyone's monies
if they were involved, and start over just to see if I can't arrive at
a more ammenable scenario thru catastrophic evolution.

I figure that's unlikely however.  Something closer to Gibson's Walled
City in "Idoru" seems more likely.

> Another "what if" -- suppose that the users treat the log as
> semi-permanent storage for their files?

<kof>

I've been known to do this with BBS'es.  I was at one time about to
lose access to all my machines, and could not afford backup media.
The result is that I uploaded __everything__ to a local BBS and then
D/L'ed all that I could a year later when life improved.

Yup, it could happen.

>> That all said, areas I haven't examined are the general security
>> concerns of the time travel feature in-game, or how to represent it
>> in-game.  First thoughts: [...]

> Will only users be able to travel in time, or will they be able to
> send out semi-automatic probes?  That is to say, can automation be
> server-side, or does it have to be client-side?

Given fairly free user programming, both.

--
J C Lawrence                               Internet: claw at null.net
                                           Internet: coder at ibm.net
----------(*)                        Internet: jc.lawrence at sun.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...



More information about the mud-dev-archive mailing list