![]() |
![]() |
DocsLinksQ2Java - a similar project that allows Quake2 games to be written in Java instead of C. |
QWPython is a Python-powered QuakeWorld dedicated server in which the QuakeC interpreter has been removed, and Python used in its place to execute game logic. Python game logic can be generated by an included QuakeC -> Python translator. Runs on:
Requirements:
File PlacementQWPython should work out-of-the-box if you place its files (shown in green) relative to your Quake installation like this:
If you don't use this particular placement, you'll have to edit the Building the native code(Unix users need to follow this step. Windows distributions contain pre-built binaries allowing you to skip this, but if you have VisualC++ you can follow this step also to build your own binary.) Change to the qwpython directory and run this command:
This will compile the native-code part of QWPython (the actual QuakeWorld engine), and a couple supporting modules, and place the resulting package, named 'qwpython', in the current directory. So you should end up with something like (many files omitted, generated files shown in green):
You may remove the 'build' directory after this is finished. Running a GameQWPython comes with pre-translated versions of Deathmatch and CTF, which
can be found in the You might want to use a standard QuakeWorld 'server.cfg' file (usually in the same place as your .PAK files), that looks something like:
Although it should still work without one. From inside the QWPython directory, run this command:
and you're in business. You should also be able to use the normal QW
command line parameters, such as: Currently QWPython doesn't handle keyboard input to the console, so to
stop it you'll either have to use the 'kill' command on Unix, or just
close the window under Windows, or use the QuakeWorld 'rcon' command from
within a connected QW client console (as in: Running as a WinNT/Win2k ServiceThe file ctf_service.py is an example of running a QWPython game as a service. To install and run, use the commands:
To stop and remove the service, try:
You can also control the service through the Windows service control panel. Adapting this to other games besides CTF should be easy - nothing in the game itself changes, only the ctf_service.py has anything specific to Windows services in it. |
Barry Pederson <bpederson@geocities.com> |