August 2004
- What is an MMOG? ceo
- MEDIA: .hack//SIGN Japanise animated series Mike Rozak
- MEDIA: .hack//SIGN Japanise animated series
- MEDIA: .hack//SIGN Japanise animated series Otis Viles
- MEDIA: .hack//SIGN Japanise animated series Richard A. Bartle
- MEDIA: .hack//SIGN Japanise animated series Scott Tengelin
- MEDIA: .hack//SIGN Japanise animated series Dana V. Baldwin
- MEDIA: .hack//SIGN Japanise animated series David Kennerly
- MEDIA: .hack//SIGN Japanise animated series Ghilardi Filippo
- MEDIA: .hack//SIGN Japanise animated series Ola Fosheim Grøstad
- MEDIA: .hack//SIGN Japanise animated series zgj22@drexel.edu
- Books on Virtual Worlds Matt Cruikshank
- DGN: Requesting feedback on a "concept document" (somewhat related to Better Combat) Craig Huber
- The Casual-Player Killer: Time? (was MMO Communities) Will Jennings
- The Casual-Player Killer: Time? (was MMO Communities) Amanda Walker
- The Casual-Player Killer: Time? (was MMO Communities) Michael Sellers
- [BIZ] CoH subscribers numbers Ghilardi Filippo
- [DGN] Socialization against the fun [was: MMO Communities] HRose
- Cognitively Interesting Combat (was Better Combat) Paolo Piselli
- Fwd: Cognitively Interesting Combat (was Better Combat) kennerly@finegamedesign.com
- Time debt Stephen McDonald
- Fwd: Cognitively Interesting Combat (was Better Combat) kennerly@finegamedesign.com
- Cognitively Interesting Combat (was Better Combat) Paolo Piselli
- Cognitively Interesting Combat (was Better Combat) David Kennerly
- Cognitively Interesting Combat (was Better Combat) Paolo Piselli
- Cognitively Interesting Combat (was Better Combat) Paolo Piselli
- Cognitively Interesting Combat (was Better Combat) David Kennerly
- Cognitively Interesting Combat (was Better Combat) Paolo Piselli
- Cognitively Interesting Combat (was Better Combat) David Kennerly
- Cognitively Interesting Combat (was Better Combat) Paolo Piselli
- Cognitively Interesting Combat (was Better Combat) Paul Schwanz
- Cognitively Interesting Combat (was Better Combat) Paolo Piselli
- Cognitively Interesting Combat (was Better Combat) Paolo Piselli
- Cognitively Interesting Combat (was Better Combat) Paolo Piselli
- Cognitively Interesting Combat (was Better Combat) cruise
- Cognitively Interesting Combat (was Better Combat) ceo
- Cognitively Interesting Combat (was Better Combat) ceo
- Cognitively Interesting Combat (was Better Combat) cruise
- Cognitively Interesting Combat (was Better Combat) ceo
- Cognitively Interesting Combat (was Better Combat) cruise
- Cognitively Interesting Combat (was Better Combat) Paul Schwanz
- Cognitively Interesting Combat (was Better Combat) KaVir@t-online.de (Richard Woolcock)
- Cognitively Interesting Combat Derek Larson
- Cognitively Interesting Combat (keyword: archetypes) Eric Random
- Cognitively Interesting Combat (keyword: archetypes) Paolo Piselli
- ADMIN: Effective progress methods for MUD-Dev (was Better Combat (long)) J C Lawrence
- FW: Deriving Self Esteem from one's MMORPGavatar[was:Long-Term Rewards] vladimir cole
- Asynchronous Event Execution & Localizing Brian Lindahl
- database design Lazarus
- database design Hans-Henrik Staerfeldt
- database design Lazarus
- database design
- [DGN] database design Steven King
- database design Erik Bethke
- database design Sean Kelly
- database design Hans-Henrik Staerfeldt
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death Artur Biesiadowski
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death Vladimir Cole
- PVP and perma-death Vladimir Cole
- PVP and perma-death Artur Biesiadowski
- PVP and perma-death Steven King
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death Steven King
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death Douglas Goodall
- PVP and perma-death HRose
- PVP and perma-death [NEW THEME] After Deployment Tiago Carita
- PVP and perma-death Paul Schwanz
- PVP and perma-death J C Lawrence
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death HRose
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death HRose
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death HRose
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death HRose
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death Koster, Raph
- PVP and perma-death HRose
- PVP and perma-death ceo
- PVP and perma-death Michael Sellers
- PVP and perma-death Matt Mihaly
- PVP and perma-death Douglas Goodall
- PVP and perma-death HRose
- PVP and perma-death Derek Licciardi
- PVP and perma-death HRose
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death J C Lawrence
- PVP and perma-death Ola Fosheim Grøstad
- PVP and perma-death HRose
- PVP and perma-death Michael Sellers
- PVP and perma-death Byron Ellacott
- PVP and perma-death J C Lawrence
- PVP and perma-death Ola Fosheim Grøstad
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] William Leader
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Stephen McDonald
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] David Kennerly
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] J C Lawrence
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] David Kennerly
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Koster, Raph
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] J C Lawrence
- ADMIN: Effective progress methods for MUD-Dev Jim Purbrick
- The Great Scam J C Lawrence
- [MEDIA] Finding an Interesting Middle Path in the RPG J C Lawrence
- [MEDIA] Finding an Interesting Middle Path in the RPG Koster, Raph
- [MEDIA] Finding an Interesting Middle Path in the RPG Douglas Goodall
- [MEDIA] Finding an Interesting Middle Path in the RPG J C Lawrence
- [MEDIA] Finding an Interesting Middle Path in the RPG David Kennerly
- [MEDIA] Finding an Interesting Middle Path in the RPG Megan Fox
- SOC DGN - Spawn locations Matthew Rick
- SOC DGN - Spawn locations Brian Hook
- SOC DGN - Spawn locations ceo
- SOC DGN - Spawn locations Sean Middleditch
- SOC DGN - Spawn locations Paul Schwanz
- SOC DGN - Spawn locations Jason Lai
- SOC DGN - Spawn locations J C Lawrence
- SOC DGN - Spawn locations HRose
- SOC DGN - Spawn locations J C Lawrence
- SOC DGN - Spawn locations Megan Fox
- SOC DGN - Spawn locations J C Lawrence
- SOC DGN - Spawn locations Ola Fosheim Grøstad
- SOC DGN - Spawn locations HRose
- SOC DGN - Spawn locations Brian Miller
- SOC DGN - Spawn locations Michael Sellers
- SOC DGN - Spawn locations Michael Hartman
- SOC DGN - Spawn locations Brian Miller
- SOC DGN - Spawn locations Chris Duesing
- SOC DGN - Spawn locations Douglas Goodall
- SOC DGN - Spawn locations J C Lawrence
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] William Leader
- On balance and reality Ola Fosheim Grøstad
- On balance and reality William Leader
- On balance and reality Koster, Raph
- On balance and reality Ola Fosheim Grøstad
- On balance and reality HRose
- On balance and reality Ola Fosheim Grøstad
- On balance and reality Vladimir Cole
- On balance and reality William Leader
- On balance and reality William Leader
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Koster, Raph
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Gedanken
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Koster, Raph
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] HRose
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Koster, Raph
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Matthew Dobervich
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Mike Rozak
- text based MUD Codebases, which one to pick? mirjam.eladhari@interactiveinstitute.se
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Douglas Goodall
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Steven King
- Casual Crowd vs.Time Rich Crowd [was: Time Debt] Michael Hartman
- Complexity and Accessibility (was: Better Combat (long)) Will Jennings
- SOC DGN: AC like alligiance system Matthew Rick
- SOC DGN: AC like alligiance system Hans-Henrik Staerfeldt
- SOC DGN: AC like alligiance system cruise
- SOC DGN: AC like alligiance system Artur Biesiadowski
- SOC DGN: AC like alligiance system HRose
- "a nicer species" (from today's Chronicle) (fwd) J C Lawrence
- Distributed State Systems Michael Tindal
- Distributed State Systems Davion Kalhen
- Distributed State Systems Michael Tindal
- Distributed State Systems Alex Arnon
- Distributed State Systems Davion Kalhen
- Distributed State Systems Michael Tindal
- Distributed State Systems Alex Arnon
- Distributed State Systems Alex Arnon
On Mon, 30 Aug 2004 16:37:31 -0400, Michael Tindal
<mtindal@paradoxpoint.com> wrote:
> Currently what I'm looking at is a central data repository with a
> way for nodes to store/retrieve data, and some form of a data
> cache for each node to minimize round trips. As the connections
> scale and more nodes are querying for data and storing data in the
> repository the time needed for the data repository to keep up with
> each node increases, thereby increasing latency.
> Are there any ways to ensure that the world stays as consistent as
> possible despite the number of nodes and/or connections? (The idea
> is to keep the system indefinitely scalable, one of my major goals
> in its design). I'm not sure how the central data repository
> would scale, since every data I/O request is an inter-thread (or
> inter-process) call, the repository has to queue requests until it
> is capable of fulfilling them. Any suggestions on how to avoid
> this while still maintaining consistency?
Are you using a shared-everything, load-balancing server pool, or a
cluster where every N nodes manage a zone (in load balanced or
failover fashion)?
In case of shared-everything, it seems to me that DB access and
cache coherence will be your biggest bottlenecks (and they might be
_quite_ big). In that case, you can try to use a COMA-like
architecture. The principles:
- Data access is always via a local cache. The backing store for
the cache is a DB, of course.
- When retrieving data from the DB (the "cache line"), the DB
entry is tagged with the ID of the node which caches it. - Nodes
accessing data which is cached in another node must go to that
node and retrieve the data from it. You must implement locks on
the cached data for performing transactions.
Anyway, shared-everything seems like a serious bother, and limits
scalability (unless data is practically always "unshared"). You
either need to go to the DB (or another node) for data, or cache
aggressively and hope your data sets are relatively exclusively
accessed.
For the other option (failover etc.), your post seems to imply you'd
have that solved rather easily. One method that we used at one of my
workplaces was to keep a "standby" server for each live one
(handling all connections over a specific subset of N subscribers);
All operations were done using a local, simple DB (similar to DBM,
simple file-based tables/ISAM). Every DB modification/transaction
was sent over the net to the standby server. When the live server
went down, the standby server would have been sufficiently up to
date to continue the work, since it would boot with a DB that was
up-to-date to the last X milliseconds. Now, this scheme cost up to
15% in CPU time (completely unoptimized, mind you), but failover was
practically instantaneous and the implementation was very simple
(gateway + config files + raw binary net protocol + primitive DB profit).
There are other schemes that can be implemented, but in general in
seems to me that partitioning the world into zones and moving
objects between them is the most productive method. Some sort of
interesting handover mechanism might be implementer in case the
world is supposed to be contiguous, and you might need to constrain
the number of live objects (mobs + players) in a zone, but these are
solvable (and in the case of shared-everything, your servers will
get bogged down with locking in case of too many players in the same
area anyway - and in other cases too).
Are any of you Industry Types willing to share your experience in
implementing MMO server farms? What is the MMO builder's zeitgeist?
:) - Distributed State Systems Michael Tindal
- Distributed State Systems Bruce Mitchener
- Distributed State Systems Michael Hartman
- Distributed State Systems Michael Tindal
- Distributed State Systems Thomas Tomiczek
- Distributed State Systems Brian Lindahl
- Complexity and Accessibility Ola Fosheim Grøstad
- wherefor in-game artists? Paolo Piselli
- wherefor in-game artists? Richard A. Bartle
- wherefor in-game artists? Sean Howard
- wherefor in-game artists? David Kennerly
- wherefor in-game artists? ceo
- wherefor in-game artists? David Kennerly
- wherefor in-game artists? Richard A. Bartle
- wherefor in-game artists? Paolo Piselli
- wherefor in-game artists? Richard A. Bartle
- wherefor in-game artists? Ola Fosheim Grøstad
- wherefor in-game artists? Richard A. Bartle
- wherefor in-game artists? Ola Fosheim Grøstad
- wherefor in-game artists? Robert Zubek
- wherefor in-game artists? Matt Mihaly
- wherefor in-game artists? Christopher Allen
- wherefor in-game artists? Matt Mihaly
- wherefor in-game artists? Christopher Allen
- wherefor in-game artists? Ola Fosheim Grøstad
- wherefor in-game artists? Douglas Goodall
- wherefor in-game artists? Christopher Allen
- wherefor in-game artists? Ola Fosheim Grøstad
- wherefor in-game artists? Christopher Allen
- wherefor in-game artists? Ola Fosheim Grøstad
- wherefor in-game artists? Koster, Raph
- wherefor in-game artists? Ola Fosheim Grøstad
- wherefor in-game artists? Koster, Raph
- wherefor in-game artists? Douglas Goodall