April 2001
- Camelot Beta 3 Dave Rickey
- Camelot Beta 3 Daniel.Harman@barclayscapital.com
- Camelot Beta 3 Vincent Archer
- Camelot Beta 3 Derek Licciardi
- Camelot Beta 3 Darrin Hyrup
- Camelot Beta 3 Vincent Archer
- Camelot Beta 3 Dave Rickey
- Camelot Beta 3 Darrin Hyrup
- Camelot Beta 3 Auli
- Room Searching Jared
- Room Searching shren
- Room Searching Travis Casey
- Room Searching Eli Stevens
- Room Searching Derek Licciardi
- Room Searching Adam Martin
- Room Searching Hans-Henrik Staerfeldt
- Room Searching Daniel.Harman@barclayscapital.com
- Room Searching David Bennett
- Sims Online -- WAS: MUD-Dev digest, Vol 1 #301 - 15 msgs Zak Jarvis
- Mera '01 report Cassandra
- Mera '01 report Jake Song
- Mera '01 report J C Lawrence
- Mera '01 report Jake Song
- Mera '01 report J C Lawrence
- Mera '01 report Cassandra
- Learning about MUDs (was: MUD-Dev digest, Vol 1 #301 - 15 msgs) Brian 'Psychochild' Green
- Learning about MUDs (was: MUD-Dev digest, V ol 1 #301 - 15 msgs) McQuaid, Brad
- Learning about MUDs (was: MUD-Dev digest, Vol 1 #301 - 15 msgs) Derek Licciardi
- Learning about MUDs (was: MUD-Dev digest, Vol 1 #301 - 15 msgs) Brian 'Psychochild' Green
- Learning about MUDs (was: MUD-Dev digest, V ol 1 #301 - 15 msgs) Daniel.Harman@barclayscapital.com
- Learning about MUDs (was: MUD-Dev digest, Vol 1 #301 - 15 msgs) Jim S
- Learning about MUDs (was: MUD-Dev digest, V ol 1 #301 - 15 msgs) Freeman, Jeff
- Learning about MUDs (was: MUD-Dev digest, V ol 1 #301 - 15 msgs) Daniel.Harman@barclayscapital.com
- Learning about MUDs (was: MUD-Dev digest, V ol 1 #301 - 15 msgs) Vincent Archer
- www.innbetweenworlds.com Klimon, Ian
- MERA '01 followup: Success critera Zak Jarvis
- MUD-Dev digest, Vol 1 #303 - 17 msgs Dr. Cat
- MUD-Dev digest, Vol 1 #303 - 17 msgs Baron, Jonathan
- MUD-Dev digest, Vol 1 #303 - 17 msgs John Buehler
- MUD-Dev digest, Vol 1 #303 - 17 msgs Baron, Jonathan
- ADMIN: HTML email, the reasons against J C Lawrence
- Need for a departure from reality? Matt Mihaly
- Broken Economies (was Learning about MUDs) geoffrey@yorku.ca
- Broken Economies (was Learning about MUDs) Koster, Raph
- Broken Economies (was Learning about MUDs) Timothy Dang
- Broken Economies (was Learning about MUDs) Koster, Raph
- Broken Economies (was Learning about MUDs) Timothy Dang
- Broken Economies (was Learning about MUDs) Madman Across the Water
- Broken Economies (was Learning about MUDs) Derek Licciardi
- Broken Economies (was Learning about MUDs) Vincent Archer
- Broken Economies (was Learning about MUDs) Sellers, Michael
- Balancing Melee vs Ranged Combat in Games Which Model Space Daniel.Harman@barclayscapital.com
- Balancing Melee vs Ranged Combat in Games Which Model Space Zak Jarvis
- Balancing Melee vs Ranged Combat in Games Which Model Space Brian Hook
- Balancing Melee vs Ranged Combat in Games Which Model Space Jerrith
- Balancing Melee vs Ranged Combat in Games Which Model Space Brian Hook
- Balancing Melee vs Ranged Combat in Games Which Model Space Jerrith
- Balancing Melee vs Ranged Combat in Games Which Model Space Brian Hook
- Balancing Melee vs Ranged Combat in Games Which Mod el Space Daniel.Harman@barclayscapital.com
- Balancing Melee vs Ranged Combat in Games Which Model Space shren
- Balancing Melee vs Ranged Combat in Games Which Model Space shren
- Balancing Melee vs Ranged Combat in Games Which Model Space Philip
- Balancing Melee vs Ranged Combat in Games Which Model Space Hal Bonnin
- Balancing Melee vs Ranged Combat in Games Which Model Space Kwon Ekstrom
- Balancing Melee vs Ranged Combat in Games Which Model Space rayzam
- RE:The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Sellers, Michael
- Sv: Balancing Melee vs Ranged Combat in Games Which Model Space Nicolai Hansen
- ADMIN: Subject header maintenance (was: Broken currencies) J C Lawrence
- Broken currencies Matt Mihaly
- Broken currencies Jim S
- Broken currencies Koster, Raph
- Broken currencies Lars Duening
- Broken currencies Matt Mihaly
- Broken currencies Lars Duening
- Broken currencies Brian 'Psychochild' Green
- Broken currencies Matt Mihaly
- Broken currencies Timothy Dang
- Broken currencies Phillip Lenhardt
- Broken currencies Matt Mihaly
- Broken currencies Phillip Lenhardt
- Broken currencies John Buehler
- Broken currencies Derek Licciardi
- Broken currencies Ben Sizer
- Broken currencies Adam Martin
- Broken currencies Ben Sizer
- Broken currencies Matt Mihaly
- Broken currencies Timothy Dang
- Broken currencies Michael Dekker
- Broken currencies Miroslav Silovic
- Broken currencies Matt Mihaly
- Broken currencies Timothy Dang
- [DGN] Balancing Melee vs Ranged Combat in Games Which Model Space Ananda Dawnsinger
- Broken currencies Matt Mihaly
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Baron, Jonathan
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Sellers, Michael
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Baron, Jonathan
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Dave Rickey
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) F. Randall Farmer
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Lee Sheldon
- The Monad (was: Broken Economies) shren
- The Monad (was: Broken Economies) Matt Mihaly
- The Monad (was: Broken Economies) John Buehler
- The Monad (was: Broken Economies) Matt Mihaly
- A User's Guide to TCP Windows J C Lawrence
- Balance J C Lawrence
- Economic & Derek Licciardi
- Economic & Matt Mihaly
- Economic & Timothy Dang
- Money supply in game economies (formerly Broken economies) Matt Mihaly
- Money supply in game economies (formerly Brokeneconomies) geoffrey@yorku.ca
- Money supply in game economies (formerly Broken eco nomies) Koster, Raph
- Money supply in game economies (formerly Broken economies) Timothy Dang
- [DGN] Balancing Melee/Ranged Combat Kwon Ekstrom
- Room Searching - how about doors? Gavin Doughtie
- Tracking Hulbert, Leland
- Online Games get an overview Koster, Raph
- [DGN] Money supply in game economies (formerly Brok en economies) Daniel.Harman@barclayscapital.com
- [DSG] Concrete idea behind currency (was: The Monad and Broken Economies) Paul Schwanz
- Majestic (was The Sims Online) Matt Mihaly
- Majestic (was The Sims Online) Baron, Jonathan
- Majestic (was The Sims Online) Matt Mihaly
- Majestic (was The Sims Online) Baron, Jonathan
- Majestic (was The Sims Online) Sellers, Michael
- Majestic (was The Sims Online) Matt Mihaly
- Majestic (was The Sims Online) Matt Mihaly
- Identity and Economies [was Money supply in game economies (formerly Broken eco nomies) ] Joe Andrieu
- Virtual Suicide (Was: Money supply in game economies) Dave Rickey
- Virtual Suicide (Was: Money supply in game economie s) Daniel.Harman@barclayscapital.com
- Virtual Suicide (Was: Money supply in game economies) Dave Rickey
- Virtual Suicide (Was: Money supply in game economie s) Daniel.Harman@barclayscapital.com
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Baron, Jonathan
- Distributed Muds Jim Craig
- [DSG] Money supply in game economies (was: Broken Economies) Paul Schwanz
- TECH DGN: (was Broken currencies) Nathan F.Yospe
- [DESIGN] Economic & Marian Griffith
- [DESIGN] Economic & Derek Licciardi
- [DESIGN] Economic & Marian Griffith
- [DESIGN] Economic & John Buehler
- [DESIGN] Economic & Travis Nixon
- [DESIGN] Economic & Travis Casey
- [DESIGN] Economic & Matt Mihaly
- [DESIGN] Economic & Travis Nixon
- [DESIGN] Economic & Matt Mihaly
- Author Unknown (was: Money supply in game economies) Emil Eifrém
- TECH: Distributed Muds Emil Eifrém
- TECH: Distributed Muds Jim Craig
- TECH: Distributed Muds Frank Crowell
- TECH: Distributed Muds Colin Coghill
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Brian Hook
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Brian Hook
- TECH: Distributed Muds Adam Martin
- Shattered World's economy John W Pierce
- Shattered World's economy Erik Jarvi
- [BIZ] Advertising sprawl (yahoo) J C Lawrence
- [BIZ] Advertising sprawl (yahoo) Frank Crowell
- [BIZ] Advertising sprawl (yahoo) Lars Duening
- [BIZ] Advertising sprawl (yahoo) Vincent Archer
- [BIZ] Advertising sprawl (yahoo) Dave Rickey
- [BIZ] Advertising sprawl (yahoo) Matt Mihaly
- [BIZ] Advertising sprawl (yahoo) Vincent Archer
- [BIZ] Advertising sprawl (yahoo) shren
- [BIZ] Advertising sprawl (yahoo) John Buehler
- [BIZ] Advertising sprawl (yahoo) Ian Macintosh
- [BIZ] Advertising sprawl (yahoo) Daniel.Harman@barclayscapital.com
- [BIZ] Advertising sprawl (yahoo) Matt Mihaly
- [BIZ] Advertising sprawl (yahoo) Caliban Tiresias Darklock
- [BIZ] Advertising sprawl (yahoo) Matt Mihaly
- [BIZ] Advertising sprawl (yahoo) J C Lawrence
- [BIZ] Advertising sprawl (yahoo) Travis Casey
- [BIZ] Advertising sprawl (yahoo) Daniel.Harman@barclayscapital.com
- [BIZ] Advertising sprawl (yahoo) Matt Mihaly
- [BIZ] Advertising sprawl (yahoo) Vincent Archer
- [BIZ] Advertising sprawl (yahoo) Matt Mihaly
- RG Interview Cassandra
- NEWS DGN Wired News article about EQ Zak Jarvis
- [DESIGN] Economy goals (was: Broken currencies) Vincent Archer
- [DESIGN] Economy goals (was: Broken currencies) shren
- [DESIGN] Economy goals (was: Broken currencies) Freeman, Jeff
- [DESIGN] Economy goals (was: Broken currencies) Derek Licciardi
- [DESIGN] Economy goals (was: Broken currencies) Vincent Archer
- [DESIGN] Economy goals (was: Broken currencies) Freeman, Jeff
- [DESIGN] Economy goals (was: Broken currencies) Adam Martin
- Curtailing the 'Super-Rich Effect' Bob McFakename
- Curtailing the 'Super-Rich Effect' Lynx
- Curtailing the 'Super-Rich Effect' Matt Mihaly
- Curtailing the 'Super-Rich Effect' Bob McFakename
- Curtailing the 'Super-Rich Effect' Matt Mihaly
- Curtailing the 'Super-Rich Effect' Phillip Lenhardt
- Curtailing the 'Super-Rich Effect' Matt Mihaly
- Curtailing the 'Super-Rich Effect' Travis Casey
- Curtailing the 'Super-Rich Effect' Mordengaard
- Curtailing the 'Super-Rich Effect' Michael Tresca
- Curtailing the 'Super-Rich Effect' Trump
- Curtailing the 'Super-Rich Effect' Daniel.Harman@barclayscapital.com
- Curtailing the 'Super-Rich Effect' Dave Rickey
- Curtailing the 'Super-Rich Effect' Michael Tresca
- Movie grosses Matt Mihaly
- Movie grosses Brian 'Psychochild' Green
- Movie grosses Koster, Raph
- Movie grosses Matt Mihaly
- Movie grosses Myschyf
- Movie grosses Matt Mihaly
- StarPeace (was Money supply in game economies) Michael Dekker
- TECH: Distributed Muds Bobby Martin
- TECH: Distributed Muds Adam Martin
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Brian Hook
- TECH: Distributed Muds Nick Walker
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Brian Hook
- TECH: Distributed Muds shren
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Brian Hook
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds shren
- TECH: Distributed Muds Eli Stevens
- TECH: Distributed Muds John Buehler
- TECH: Distributed Muds Kevin Littlejohn
- TECH: Distributed Muds John Buehler
- TECH: Distributed Muds Ola Fosheim Grøstad
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Matthew D. Fuller
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds Ola Fosheim Grøstad
- TECH: Distributed Muds Christopher Kohnert
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Jon Lambert
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds Jon Lambert
- TECH: Distributed Muds Matthew D. Fuller
- TECH: Distributed Muds Owen
- TECH: Distributed Muds Jon Lambert
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds shren
- TECH: Distributed Muds Jon Lambert
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds Jon Leonard
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Kevin Littlejohn
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Kwon Ekstrom
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Kwon Ekstrom
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Neil Brown
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds shren
- TECH: Distributed Muds John Buehler
- TECH: Distributed Muds Steven Fleischaker
- TECH: Distributed Muds Jon Lambert
- TECH: Distributed Muds Daniel.Harman@barclayscapital.com
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Daniel.Harman@barclayscapital.com
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds Christopher Kohnert
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Kwon Ekstrom
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds Brad Roberts
- TECH: Distributed Muds Vincent Archer
- [DESIGN] Economic & Currency Solutions Phillip Lenhardt
- Curtailing the 'Super-Rich' Effect Bob McFakename
- Curtailing the 'Super-Rich' Effect Daniel.Harman@barclayscapital.com
- TECH: Flash Crowds and overflow control Gavin Doughtie
- TECH: Flash Crowds and overflow control Marc Bowden
- TECH: Flash Crowds and overflow control Vincent Archer
- TECH: Flash Crowds and overflow control Koster, Raph
- TECH: Flash Crowds and overflow control J C Lawrence
- TECH: Flash Crowds and overflow control Marc Bowden
- TECH: Flash Crowds and overflow control Justin Rogers
- BUSINESS: I need Online Gaming Revenue Projections. F. Randall Farmer
- [DESIGN] Economic & Currency Solutions Vincent Archer
- [DESIGN] Economic & Currency Solutions Timothy Dang
- [DESIGN] Economic & Currency Solutions Taylor Daynes
- [DESIGN] Economic & Currency Solutions Vincent Archer
- ADMIN: Moving... J C Lawrence
- UO and eBay figures Koster, Raph
- MUD for sale Chris Gray
- MUD for sale Caliban Tiresias Darklock
- MUD for sale Dave Rickey
- MUD for sale Bruce
- MUD for sale Chris Gray
- MUD for sale Kevin Littlejohn
- ADMIN: The move and current status J C Lawrence
- Virtual Suicide (Was: Money supply in game economies) Martin Burke
- TECH: Java ARMI Bobby Martin
- TECH: AmigaMud DB questions Bruce
- TECH: AmigaMud DB questions Chris Gray
> From: Bruce <bruce@puremagic.com>
[Warning, long answer, with actual code in it!]
> Is your description of your DB in:
> http://www.kanga.nu/archives/MUD-Dev-L/1998Q2/msg00018.php
> still accurate? How has that worked out for you?
Yes, that's still accurate. Most of the recent work has involved the port
of the server, the addition of the support for the new client stuff, and
some fairly extensive modifications to the scenario code to integrate the
tile-based mode with the older room-based mode.
> The DB is something that I've been experimenting with a lot lately
> inside of Cold. One of the first things to go was the use of DBM for
> maintaining the index because it simply didn't scale. I'm still not
> entirely thrilled with Berkeley DB, which I used to replace it and
> will probably end up moving over to something simple and similar to
> what you described. Relying on other libs where speed is critical
> hasn't worked well for us.
Most traditional simple DB's are not good at random accesses to randomly
sized entries. I knew from day 1 that most of my database objects would be
of differing (and varying at runtime) sizes. So, I just went ahead and
produced the kind of back-end I needed. It's had some pretty nasty bugs
over time, but I haven't noticed any for quite a while. All of the original
writing of my MUD system was done on the Amiga, and using my own Draco
programming language, so pretty much any external package would have had
to have been translated and ported before I could use it.
> Do you still maintain refcounts for objects external to them in a
> mapping? Does the user have to write code that correctly manages the
> refcounts on objects, or is that handled as part of the scripting
> language?
The object refcounts are officially stored in the object records in the
database (in a small fixed header piece). The extra in-memory caches are
used only to reduce the number of writes to the database itself. All of
the refcounts (on quite a few kinds of entities) are invisible to the
user. Two of the "dump out an entry" commands allow you to see the refcounts,
but there is no way to actually change them - it is all done automatically
as part of the lower-level routines that the MUD languages uses to
manipulate them. Similarly, when the refcounts go to 0, the system will
free the used resources.
> Does your LRU cache have multiple buckets or just a single linked
> list? (I'd like to understand what DGD does here at some point as
> well.) Do you really flush the whole cache to disk when you have no
> empty cache slots available? (If so, why the whole cache?)
Just a single linked list. There is only one set of forward/backward
links in the in-memory copy of each entry. The up-front mapping tables
can thus only point to one entry per table slot.
Yes, I flush the whole cache. Have some code: :-)
/* portion the dirty entries into the buckets based on their file offset */
ca = CacheLRUHead;
while (ca != P_NULL) {
next = ca->ca_next;
if ((ca->ca_slotLength & CA_DIRTY) != 0) {
ix = IndexPtr + (ca->ca_key & INDEX_MASK);
offset = ix->ix_offset;
if ((offset & IX_FREE) != 0) {
logX("object ", ca->ca_key, " is dirty, but free in index\n");
localAbort();
}
offset >>= shift;
ca->ca_next = radixTable[offset];
radixTable[offset] = ca;
}
ca = next;
}
/* go flush each bucket (an n**2 operation) */
for (i = 0; i < SORT_BUCKETS; i += 1) {
ca = radixTable[i];
if (ca != P_NULL) {
ioFlushBucket(ca);
}
}
Why? Well, so far it hasn't been a big issue. Certainly as the working
set size increased, one would want to change it. Also, the CPU time of doing
the flush isn't that great, so doing async I/O for the actual flushes might
hide the latency. That would require some additional data structures,
however, to keep track of what all is being written. The main saving, I
expect, is that its only a small percentage of the database that ever
gets dirtied permanently enough to actually need writing to disk.
> How do you handle backups? I'm not entirely happy with the amount of
> time they take in Cold ... although, I think that with some tuning,
> they could definitely perform better than they do now by copying more
> blocks at once (Cold's DB has a minimal block size, defaulting to 256
> bytes). The asynch part of our backup is pretty nice though, although
> it had a data-corrupting bug in it that was hard enough to tickle that
> it wasn't noticed for about 4-5 years. Of course, it only corrupted
> the backup DB, not the running one. It'd also be nice to have a way to
> provide transactional capability .. but that's not happening within
> Cold anytime soon. Transactional stuff is the only reason that I'm
> jealous of DGD. :)
I ended up making backups visible to the players. Have some more code, this
time MUD-code:
define tp_baseVerbs proc DoBackup(thing obj)void:
int saveLimit;
/* We want to schedule the next backup before we actually do this one,
so that the timekeeper will have us on its list in the backup! */
if GlobalThing@p_BackupInterval ~= 0 then
DoAfter(GlobalThing@p_BackupInterval * 60, GlobalThing, DoBackup);
fi;
if GlobalThing@p_FlushNeeded then
saveLimit := RunLimit(100);
/* clear flag *before* doing backup, so are clean after restore */
GlobalThing@p_FlushNeeded := false;
Log("Starting automatic backup, interval = " +
IntToString(GlobalThing@p_BackupInterval) + " minutes\n");
APrint("\n * Timed database backup starting - please wait. *\n");
Flush();
/* Execute("copy MUD.#? backup"); */
Execute("cp MUD.* backup");
APrint(" * Backup complete. *\n\n");
ignore RunLimit(saveLimit);
fi;
corp;
So, it essentially just uses a server-provided "Flush" routine which flushes
everything through the various caches, and then flushes the database. After
that, it copies the database files to a backup sub-directory. One could get
smarter and use multiple backup directories. The key here is to stop any
changes to the database while the 'Flush' is running, and to stop any
database writes while the file copy is going on.
Is a synchronous backup like this scalable? Probably not in the long run,
but you'd have to be running a serious system in order to want to risk
corrupted databases to avoid the backups impacting the players. The players
seeing this ('APrint' is a broadcast to players) breaks the illusion of a
virtual world, but as a player, I think I would find it re-assuring.
> Another interesting topic is the conversion of your in-memory objects
> to the buffer that you store on disk .. that's kinda slow in Cold at
> the moment, but I'm too tired to ask questions about that yet. :)
Since the original version was done on the Amiga, I chose big-endian as
the standard for the database (and for messages). So, on that platform,
there really isn't any conversion necessary. On the X86 platform, I have
to do endian-conversions. There really aren't any other conversions that
I have to do - I arranged all of the types so that they pack properly into
structures, and just read and write the structures from the database.
There are conversions for some of the higher-level server types that are
stored in the database (MUD-code, tables, grammars), but they are not
read or written very often, since they each have independent in-memory
caches in front of the database itself.
> Are there good open source/free software lightweight OODBs around,
> preferably with a C API? I've not seen one and I keep getting tempted
> to rip that layer out of Cold and package it up separately as a
> lib. It'd be nice if any suggestions were actively developed as
> well. :)
That question I'll leave to others, since I'm not knowledgeable there.
--
Don't design inefficiency in - it'll happen in the implementation.
Chris Gray cg@ami-cg.GraySage.COM
http://www.GraySage.COM/cg/ - TECH: AmigaMud DB questions Bruce
- TECH: AmigaMud DB questions Chris Gray
- TECH: AmigaMud DB questions Jon Lambert
- TECH: AmigaMud DB questions Chris Gray
- Kuro5hin: What can games teach us about human-computer interaction? J C Lawrence
- Review of Galactic Emperor: Succession in LumTheMad's Forums Christopher Allen
- [BIZ] New EQ Expansion Daniel.Harman@barclayscapital.com
- Twisted Python J C Lawrence
- [TECH] Distributed MUD Kwon Ekstrom
- [TECH] Distributed MUD Jeremy Noetzelman
- [TECH] Distributed MUD Kwon Ekstrom
- [TECH] Distributed MUD J C Lawrence
- EQ: what makes a zone interesting? Frank Crowell
- EQ: what makes a zone interesting? J C Lawrence
- EQ: what makes a zone interesting? shren
- EQ: what makes a zone interesting? J C Lawrence
- EQ: what makes a zone interesting? Elia Morling
- Imaginary Realities - April 2001 David Bennett
- [BIZ][TECH] worlds.com gets patent bruce@puremagic.com
- [BIZ][TECH] worlds.com gets patent Jessica Mulligan
- [BIZ][TECH] worlds.com gets patent Bruce
- [BIZ][TECH] worlds.com gets patent Frank Crowell
- [BIZ][TECH] worlds.com gets patent Kwon Ekstrom
- [BIZ][TECH] worlds.com gets patent John Robert Arras
- [BIZ][TECH] worlds.com gets patent Jon Lambert
- [BIZ][TECH] worlds.com gets patent John Buehler
- [BIZ][TECH] worlds.com gets patent Frank Crowell
- [BIZ][TECH] worlds.com gets patent Travis Nixon
- [BIZ][TECH] worlds.com gets patent Marian Griffith
- [BIZ][TECH] worlds.com gets patent John Buehler
- [BIZ][TECH] worlds.com gets patent Dave Rickey
- [BIZ][TECH] worlds.com gets patent Derek Licciardi
- called shots Josh Rollyson
- called shots Matt Mihaly
- called shots Mordengaard
- called shots Ling Lo
- called shots shren
- called shots John Buehler
- called shots Kwon Ekstrom
- called shots Travis Casey
- called shots Travis Casey
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Brad Roberts
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Dominic J. Eidson
- TECH: reliablity (was: Distributed Muds) Bruce
- TECH: reliablity (was: Distributed Muds) Derek Snider
- TECH: reliablity (was: Distributed Muds) Bruce
- TECH: reliablity (was: Distributed Muds) Derek Snider
- TECH: reliablity (was: Distributed Muds) Alex
- TECH: reliablity (was: Distributed Muds) shren
- TECH: reliablity (was: Distributed Muds) Ola Fosheim Grøstad
- TECH: reliablity (was: Distributed Muds) Derek Snider
- TECH: reliablity (was: Distributed Muds) Ola Fosheim Grøstad
- TECH: reliablity (was: Distributed Muds) John Buehler
- TECH: reliablity (was: Distributed Muds) Ola Fosheim Grøstad
- TECH: reliablity (was: Distributed Muds) John Buehler
- TECH: reliablity (was: Distributed Muds) Kwon Ekstrom
- TECH: reliablity (was: Distributed Muds) Derek Licciardi
- TECH: reliablity (was: Distributed Muds) Ola Fosheim Grøstad
- TECH: reliablity (was: Distributed Muds) John Buehler
- TECH: reliablity (was: Distributed Muds) Ola Fosheim Grøstad
- TECH: reliablity (was: Distributed Muds) John Buehler
- TECH: reliablity (was: Distributed Muds) Kwon Ekstrom
- TECH: prefetching/madvise (was: Distributed Muds) Bruce
- TECH: prefetching/madvise (was: Distributed Muds) Matthew D. Fuller
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Scion Altera
- Re:called shots Eric Lamy
- Where are we now? Greg Munt
- Where are we now? Ronan Farrell
- Where are we now? Matt Mihaly
- Where are we now? Greg Munt
- Where are we now? Ronan Farrell
- Where are we now? Adam Martin
- Where are we now? Bryce Harrington
- Where are we now? Deidril
- Where are we now? Bryce Harrington
- Where are we now? Elia Morling
- Where are we now? Matt Mihaly
- Where are we now? McManus, Susan
- Where are we now? Matt Mihaly
- Where are we now? Kwon Ekstrom
- Where are we now? Brian Hook
- Where are we now? Kwon Ekstrom
- Where are we now? Michael Tresca
- Where are we now? S. Patrick Gallaty
- Where are we now? Greg Munt
- Where are we now? S. Patrick Gallaty
- Where are we now? Matt Mihaly
- Where are we now? Koster, Raph
- Where are we now? Greg Munt
- Where are we now? Matt Mihaly
- Where are we now? Greg Munt
- Where are we now? Matt Mihaly
- Where are we now? Bruce
- Where are we now? Ola Fosheim Grøstad
- Where are we now? Koster, Raph
- Where are we now? Richard A. Bartle
- Where are we now? Ola Fosheim Grøstad
- Where are we now? Bruce
- Where are we now? Greg Munt
- Where are we now? Koster, Raph
- Where are we now? rayzam
- Where are we now? Madman Across the Water
- Where are we now? Bryce Harrington
- Where are we now? Madman Across the Water
- Where are we now? Freeman, Jeff
- TECH: DBM vs BDB speeds (was: AmigaMud DB questions) Bruce
- fault tolerance and character files Steven Fleischaker
- fault tolerance and character files Kwon Ekstrom
- fault tolerance and character files Bruce
- fault tolerance and character files Kwon Ekstrom
- fault tolerance and character files Vincent Archer