Commit graph

2866 commits

Author SHA1 Message Date
Griatch
6a13d07c55 Fixed some hooks to match wiki docs. 2011-02-14 18:31:16 +00:00
Griatch
923b9ac2ec Added hooks at_pre_cmd() and at_post_cmd() for easy implementation of stuff like prompts.
Added obj.exit property to objects for easily finding all exits from a room.
2011-02-14 17:18:31 +00:00
Griatch
ecbd36c5a8 Fixes webclient spacing issues in lists. Patches created by user "61924.00". Still issues with some line breaks, as per issue 121. 2011-02-06 17:06:29 +00:00
Griatch
2c66f039fd Synced INSTALL file with wiki instructions. 2011-02-05 18:25:09 +00:00
Griatch
45941e0c69 Implemented typeclass deleting; you can now do del obj.testval and expect the underlying attribute to be safely deleted from the database. Also fixed some reference errors when assigning to db/ndb properties on objects. Resolves issue 116. Fixed a bug in the command-testing system, so the few command tests that are defined should all work now. 2011-02-05 18:06:18 +00:00
Griatch
19538ff00b Resolves issue 126. 2011-02-05 12:17:13 +00:00
Griatch
bf606db05d Re-added admin media files. It seems they are not automatically found when django's own test server is not used. This resolves issue 124. 2011-01-13 13:10:39 +00:00
Griatch
e9e94c024b Resolves issue 123. 2011-01-09 11:53:54 +00:00
Griatch
939307a5c1 Resolved issue122. Also clarified the functional sequence for disconnecting a session cleanly (avoiding circular calls that might happen if disconnection happens manually or automatically due to server shutdown). Removed the specific stopping callback from the webclient and put it in the mai
n server process instead, so all protocols can get a message when server shuts down with Ctrl-C.
2010-12-12 10:54:33 +00:00
Griatch
6ecbda03ea Changed web client hostname resolver to be more accurate. 2010-12-11 15:07:19 +00:00
Griatch
7f3633c70a Web client users are now notified if the server is shut down forcefully (Ctrl-C, reboot etc) 2010-12-11 14:26:57 +00:00
Griatch
0eb5d29560 Cleaned up the webclient and changed how it handles sessions and identifies with the server. Fixed some reported bugs caused by the changed layout of sessionhandler. 2010-12-11 13:37:26 +00:00
Griatch
b1682f78c9 Removed a batch of symlinks that accidentally got into the repository in the latest few updates. 2010-12-08 08:31:19 +00:00
Griatch
e8361a60d1 A file was not properly added in the last commit. Added now. 2010-12-07 22:27:50 +00:00
Griatch
7e898842b9 Fixed a string error in the webclient that could appear on some server setups. Added URL parsing to the webclient. 2010-12-07 21:46:26 +00:00
Griatch
e7b3916aec Fixed a typo in the new telnet protocol when logging out. 2010-12-07 02:55:16 +00:00
Griatch
251f94aa7a Evennia now runs on its own Twisted webserver (no need for testserver or Apache if you don't want to). Evennia now also has an ajax long-polling web client running from Twisted. The web client requires no extra dependencies beyond jQuery which is included. The src/server structure has been r
cleaned up and rewritten to make it easier to add new protocols in the future - all new protocols need to inherit from server.session.Session, whi
ch implements a set of hooks that Evennia uses to communicate. The current web client protocol is functional but does not implement any of rcaskey
's suggestions as of yet - it uses a separate data object passed through msg() to communicate between the server and the various protocols. Also the client itself could probably need cleanup and 'prettification'. The fact that the system runs a hybrid of Django and Twisted, getting the best of both worlds should allow for many possibilities in the future. /Griatch
2010-12-07 02:34:59 +00:00
Griatch
ecefbfac01 Set the default settings file to point to the files in game/gamesrc/commands - these now make for good starts for overriding the default systems. The system now also matches the examples given in the wiki. 2010-11-23 18:10:41 +00:00
Griatch
72d40285b8 After lots of discussions, default commands where moved from game/gamesrc/commands/default to src/commands/default in order to make it clearer which parts are updated as part of evennia and which can be tweaked at heart's content. New templates where left in gamesrc/commands that should hopefully make it clearer how to extend the command system. Also game/web was moved to src/web - we'll likely extend this from game/gamesrc/web in the future. If you already did extensions you should just have to edit your import paths and make use of the new cmdset template supplied.
The unit testing was for commands was split out from src/objects/tests.py into the new src/commands/default/test.py in order to keep the testing modules thematically grouped with the things they are testing.
2010-11-23 01:24:56 +00:00
Greg Taylor
a3917073ff Fixing the test runner. Unit test fixes pending. 2010-11-22 15:33:28 +00:00
Greg Taylor
2690e0790e Adding a docs/requirements.txt for our pip/viritualenv users. 2010-11-22 15:33:19 +00:00
Griatch
b091cde574 Some bugfixes and cleanup. 2010-11-21 20:01:52 +00:00
Griatch
502ebff1a2 Implemented a unit testing framework for Evennia. Unfortunately it seems it is only usable in latest Django SVN, due to a Django bug; Run "manage.py test-evennia" - if you get errors about SUPPORTS_TRANSACTIONS, you are affected by the bug. Since this is only likely to affect evennia devs at this point I added a few base tests in src/objects/tests.py as a template for those willing to help add unit tests. 2010-11-21 19:02:24 +00:00
Griatch
a7899e0119 Added version-validation of dependent packages upon server start. 2010-11-11 01:28:12 +00:00
Ari Mudev
708aa66a04 Work around Issue 117. This is PROBABLY the right fix. 2010-11-10 23:03:38 +00:00
Ari Mudev
09bf394284 Fix Issue 118. 2010-11-10 22:44:48 +00:00
Griatch
8aa22fbec8 Fixed bugs in alias and search system, including properly searching inventory. Expanded @alias command with more functionality. 2010-11-09 14:46:39 +00:00
Ari Mudev
50e66b3813 Remove reference to PySqlite2 since we are recommending Python v2.5 (which includes the 'sqlite3' module in the base distribution).
Also, recommend ActivePython.  While it is a commercially-backed product, "pypm" (like "easy_install" on Linux) makes it an absolute snap to get all the dependencies for Evennia.  It simplifies setup on Windows greatly compared to the stock distribution at www.python.org coupled with the stock "easy_install".)

Also, re-flow some more text.
2010-11-01 06:11:01 +00:00
Ari Mudev
f11fbdf739 Make python launching more portable. Re-flow help text to fit within 80 characters for terminals that do not easily resize. (This commit is mostly aimed towards MS Windows installations.) 2010-11-01 05:44:19 +00:00
Griatch
7fb6362dc4 Added optional support for database migrations with south. The game/migrate.py program is a simple wrapper that runs the suitable commands for setting up a database and updating it, respectively. 2010-10-31 18:21:23 +00:00
Griatch
7eaf3d221c Resolved issue113, avoiding a loophole in which the protection about @reloading a timed script could be circumvented. 2010-10-31 08:34:38 +00:00
Griatch
3f703efc2d Made changes to idmapper that might help alleviate issue101 (more people need to run it to make sure). Moved around default command modules to be more logically named and distributed. 2010-10-31 08:10:02 +00:00
Griatch
19dd476115 Changed object and alias search methods to be more effective. Made aliases a separate model to avoid overhead with large searches. The change of aliases meand you need to resync your database. 2010-10-30 18:42:37 +00:00
Griatch
268328d36a Fixed @py to match the wiki documentation. 2010-10-21 23:06:55 +00:00
Griatch
31edce0ba1 Added utils.utils.run_async as a simple wrapper to the Twisted deferred system. This allows for easily making a long-time-running process or command asynchronous. 2010-10-21 20:15:11 +00:00
Griatch
547eb53b32 Made search(*playername) commands correctly return a Player typeclass and not a character. Initial startup/character creation: Default permissions are now assigned on player level rather than character level (this gives more safety to @puppet operations). Made @puppet command work only on Character objects. 2010-10-21 18:58:47 +00:00
Ari Mudev
c9861e06de Red button typo. 2010-10-19 01:39:25 +00:00
Ari Mudev
04ae472e1a Tweak @create help to provide a working example as intended.
The rest of the documentation for this command should probably be audited, but the copy-paste method of experimentation works now.
2010-10-19 01:30:24 +00:00
Griatch
9459178c43 Fixed character swap mechanisms. Created an example command @puppet for switching control between characters (note that it does not currently check permissions, nor make sure the target has the appropriate cmdsets). 2010-10-18 21:07:26 +00:00
Ari Mudev
922a7d5064 Windows fix. Always start twistd.py using a Python interpreter.
This allows .py files to be associated with an editor. Before this fix, twistd.bat simply "started" twistd.py, which would tend to open the file in an editor if the file associations were set.

This fix simply prepends the python interpreter path to the twistd.py path when twistd.bat is built programmatically so it is always "run as a python program" no matter the current Windows .py file association.
2010-10-18 16:37:07 +00:00
Griatch
151595a042 Turned off Django DEBUG in the default setup. This resolves all issues with memory leakage and resource hogging seen in issue112. 2010-10-11 17:22:39 +00:00
Griatch
12acb34ce7 Extended new encoding functionality also to batch commands. 2010-10-03 21:02:52 +00:00
Griatch
7080de4022 Implemented @encoding command as a default way for managing encodings on a per-player level. 2010-10-03 20:34:46 +00:00
Griatch
c29649cd53 Made characters disappear from the room when their controlling player logs off. This is a trivial thing to customize, but the old default (leave the character objects in the room, although "headless") confused people. 2010-10-03 19:49:48 +00:00
Griatch
745df8356f Added comprehensive encoding handling to support both player-level encoding choices as well as global multiple encodings through the settings file. 2010-10-03 19:11:43 +00:00
Griatch
7904916dba Fixed a simple list-bug in @objects command. This resolves issue111. 2010-09-26 09:21:01 +00:00
Griatch
164eb5b89b Some command bugfixes. Added some more debug messages for pinning down issue101. 2010-09-19 06:57:08 +00:00
Griatch
27b7570aab Fixed a bug in @debug (resolves issue107). Also moved @debug command to commands/default/tests.py instead. 2010-09-12 16:37:00 +00:00
Griatch
af89dd1ef7 Some minor bugfixes. 2010-09-12 16:19:02 +00:00
Griatch
5361bd03d3 Made @create not overwrite a script-defined 'desc' attribute if it exists. Resolves issue109. 2010-09-12 15:14:09 +00:00