* * * * *

                  I never got the memo on “copyover servers”

> There’s only so much you can do with builder rights on someone else’s MUD
> (MultiUser Dungeon). To really change the game, you needed to be able to
> code, and most MUDs were written “real languages” like C. We’d managed to
> get a copy of Visual C++ 6 and the CircleMUD source code, and started
> messing about. But the development cycle was pretty frustrating — for every
> change, you had to recompile the server, shut it down (dropping everyone’s
> connections), bring it back up, and wait for everyone to log back in.
>
> Some MUDs used a very cool trick to avoid this, called “copyover” or
> “hotboot”. It’s an idiom that lets a stateful server replace itself while
> retaining its PID (Process IDentification) and open connections. It seemed
> like magic back then: you recompiled the server, sent the right command,
> everything froze for a few seconds, and (if you were lucky) it came back to
> life running the latest code. The trick is simple but I can’t find a
> detailed write-up, so I wanted to write it out while I thought of it.
>

Via Lobsters [1], “How Copyover MUD Servers Worked | Blog | jackkelly.name
[2]”

Somehow, in all my years of programming (and the few years I was looking into
the source code of various MUDs back in the early 90s) I never came across
this method of starting an updated version of a server without losing any
network connections. In hindsite, it's an obvious solution—it just never
occured to me to do this.

[1] https://lobste.rs/s/fwqjqm/how_copyover_mud_servers_worked
[2] http://jackkelly.name/blog/archives/2025/02/06/how_copyover_mud_servers_worked/
---

Discussions about this page

Lazy Reading for 2025/02/23 – DragonFly BSD Digest
 https://www.dragonflydigest.com/2025/02/23/lazy-reading-for-2025-02-23/

Email author at [email protected]