On Fri, 13 Sep 1996, The Chuckster wrote: > Has anyone modified their mud to allow warm reboots? Is this > sort of thing OS dependent or what? I have worked on a mud > that could do warm reboots (I was only an IMM so I could not see > the code) and players would not even have to log off. If your OS has the exec call, and all Unices do, you can do it. For the code (for a MERC+ MUD, however) see: ftp://pip.dknet.dk/pub/pip1773/copyover.v1 (or so) I don't use Circle, and a brief look at the comm.c of Circle shows a lot of differences... The general ideas is however: Find out who is on. Save name of each character plus descriptor they are getting data from (the number of the file descriptor) into a file. Save the number of control descriptor. Call exec() on the binary file. This is much like starting the program up again - BUT all the files that are open are still open, so that includes the sockets too. Now bring system back to hwo it was before - read in all the players and log them into the game, at their respective sockets. ============================================================================== Erwin Andreasen Viby J, Denmark Computer Science Student at Aarhus Business 4u2@aabc.dk <A HREF="http://pip.dknet.dk/~pip1773">Click here!</A> College ============================================================================== +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST