#!/usr/bin/python # -*- coding: utf-8 -*- u"""Skeletal executable for the mudpy engine.""" # Copyright (c) 2004-2009 Jeremy Stanley . Permission # to use, copy, modify, and distribute this software is granted under # terms provided in the LICENSE file distributed with this software. # core objects for the mudpy engine import mudpy # log an initial message import sys mudpy.log(u"Started mudpy with command line: " + u" ".join(sys.argv)) # fork and disassociate mudpy.daemonize() # make the pidfile mudpy.create_pidfile(mudpy.universe) # loop indefinitely while the world is not flagged for termination or # there are still connected users while not mudpy.universe.terminate_flag or mudpy.universe.userlist: # the world was flagged for a reload of all code/data if mudpy.universe.reload_flag: reload(mudpy) # do what needs to be done on each pulse mudpy.on_pulse() # the loop has terminated, so save persistent data mudpy.universe.save() # log a final message mudpy.log(u"Shutting down now.") # get rid of the pidfile mudpy.remove_pidfile(mudpy.universe)