26 May, 2008, exeter wrote in the 1st comment:
Votes: 0
Honestly, what's a copyover? I've only played on LPC-based MUDs, and they don't seem to have this concept.

From context, I'm guessing it's a "soft reboot," where the MUD process forks off a new copy, transfers state to the new process, then dies. Is that correct? If so, why is this done? To "clean out" memory?
26 May, 2008, Davion wrote in the 2nd comment:
Votes: 0
Unlike LPC, MUDs that implement the copyover protocol do it so they can get new code in without players loosing connection. Most Diku's have a very limited soft-coding system. In order to implement new changes to the code one must reboot the MUD. Traditional reboots drop a players connection but because execl() maintains i/o sockets it allows you to reboot without dropping connections.

A copyover doesn't necessarily use fork (in fact, the only one released that I've seen is in the MudConV's copyover) it uses execl() which basically allows you to replace a process with another, in this case, the newly compiled executable for the MUD.

Some MUDs implement a timed copyover system that "refreshes the mud." This cleans out memory, respawns area's and removes dropped items. I personally think this is a waist of time and annoying to players.
0.0/2