mirror of
https://github.com/evennia/evennia.git
synced 2026-03-21 15:26:30 +01:00
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:
parent
15d80f4c9a
commit
bc2ea1780b
2 changed files with 27 additions and 12 deletions
|
|
@ -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
7
startup.bat
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue