Fixed an issue with @list that broke Windows compatibilty. We simply won't be able to let the user '@list process' under Windows, as the Python API lacks the needed modules and functions to do so. So everyone doesn't have to go through the head-scratching I did to figure out how to get Evennia running on Windows, I have included a startup.bat file for anyone wanting to develop under Windows. If someone would like me to post instructions on running under Windows, send a mail to the list stating the fact and I'll outline the process.

This commit is contained in:
Greg Taylor 2007-06-04 03:54:33 +00:00
parent 15d80f4c9a
commit bc2ea1780b
2 changed files with 27 additions and 12 deletions

View file

@ -1,4 +1,8 @@
import os, resource
import gameconf
if not gameconf.host_os_is('nt'):
# Don't import the resource module if the host OS is Windows.
import resource
import os
import functions_db
import scheduler
@ -19,17 +23,21 @@ def cmd_list(cdat):
elif argstr == "commands":
session.msg('Commands: '+ ' '.join(session.server.command_list()))
elif argstr == "process":
loadvg = os.getloadavg()
psize = resource.getpagesize()
rusage = resource.getrusage(resource.RUSAGE_SELF)
session.msg("Process ID: %10d %10d bytes per page" % (os.getpid(), psize))
session.msg("Time used: %10d user %10d sys" % (rusage[0],rusage[1]))
session.msg("Integral mem:%10d shared %10d private%10d stack" % (rusage[3], rusage[4], rusage[5]))
session.msg("Max res mem: %10d pages %10d bytes" % (rusage[2],rusage[2] * psize))
session.msg("Page faults: %10d hard %10d soft %10d swapouts" % (rusage[7], rusage[6], rusage[8]))
session.msg("Disk I/O: %10d reads %10d writes" % (rusage[9], rusage[10]))
session.msg("Network I/O: %10d in %10d out" % (rusage[12], rusage[11]))
session.msg("Context swi: %10d vol %10d forced %10d sigs" % (rusage[14], rusage[15], rusage[13]))
if not gameconf.host_os_is('nt'):
loadvg = os.getloadavg()
psize = resource.getpagesize()
rusage = resource.getrusage(resource.RUSAGE_SELF)
session.msg("Process ID: %10d %10d bytes per page" % (os.getpid(), psize))
session.msg("Time used: %10d user %10d sys" % (rusage[0],rusage[1]))
session.msg("Integral mem:%10d shared %10d private%10d stack" % (rusage[3], rusage[4], rusage[5]))
session.msg("Max res mem: %10d pages %10d bytes" % (rusage[2],rusage[2] * psize))
session.msg("Page faults: %10d hard %10d soft %10d swapouts" % (rusage[7], rusage[6], rusage[8]))
session.msg("Disk I/O: %10d reads %10d writes" % (rusage[9], rusage[10]))
session.msg("Network I/O: %10d in %10d out" % (rusage[12], rusage[11]))
session.msg("Context swi: %10d vol %10d forced %10d sigs" % (rusage[14], rusage[15], rusage[13]))
else:
session.msg("Feature not available on Windows.")
return
elif argstr == "flags":
session.msg("Flags: "+" ".join(defines_global.SERVER_FLAGS))
else:

7
startup.bat Normal file
View file

@ -0,0 +1,7 @@
@echo off
set DJANGO_SETTINGS_MODULE=settings
set PYTHONPATH=.
echo Starting Evennia...
rem We're only going to run in interactive mode until we've had more time to make sure things work as expected on Windows.
twistd -noy server.py