Commit graph

2889 commits

Author SHA1 Message Date
Griatch
a429047452 Fixed a bug in @set that would not display attributes if they were set to 0 or None. 2011-03-20 01:19:05 +00:00
Griatch
7600892d5d Fixed a bug in examine. Gave a more informative error message from asynchronous reload. 2011-03-19 23:56:24 +00:00
Griatch
2f78bacd97 Added a check for multiple connected sessions to avoid moving disconnected object more than once. Resolves issue 145. 2011-03-19 22:17:00 +00:00
Griatch
8288534cf6 Fixed a firefox-incompatability bug in the webclient. Resolves issue143. 2011-03-17 23:18:44 +00:00
Griatch
de28b2d575 Fixes @locks to block self-escalation. Fixed a few bugs in @reload that caused it to reload also unsafe modules. 2011-03-17 22:28:30 +00:00
Griatch
bccd84e480 Fixed some bugs in the access system. Changed the "owner" default permission to "control" instead to more general. Added a new hook for setting locks for objects (the suspicion was that this would give lots of grief to newbies otherwise, now we have a lockdown policy in the absence of lock definitions). 2011-03-17 21:43:18 +00:00
Griatch
295a82cc04 @locks command bug fixed; Had forgotten a 'not' in the lock-check, reversing the result. 2011-03-16 07:16:32 +00:00
Griatch
08b3de9e5e OBS: You'll need to resync/rebuild your database!
- This implements an updated, clearer and more robust access system. The policy is now to lock that which is not explicitly left open.
- Permission strings -> Lock strings. Separating permissions and locks makes more sense security-wise
- No more permissiongroup table; permissions instead use a simple tuple PERMISSIONS_HIERARCHY to define an access hierarchy
- Cleaner lock-definition syntax, all based on function calls.
- New objects/players/channels get a default security policy during creation (set through typeclass)

As part of rebuilding and testing the new lock/permission system I got into testing and debugging several other systems, fixing some
outstanding issues:
- @reload now fully updates the database asynchronously. No need to reboot server when changing cmdsets
- Dozens of new test suites added for about 30 commands so far
- Help for channels made more clever and informative.
2011-03-15 16:08:32 +00:00
Griatch
c2030c2c0c Resolves issue 139. 2011-03-14 08:41:47 +00:00
Griatch
cd1c415711 Edited the help-category of utility commands to make wiki auto-command-help match. 2011-03-03 16:50:27 +00:00
Griatch
38014eda3c Resolves issue 138. 2011-02-28 23:43:14 +00:00
Griatch
e094a4d173 Fixed a test suite syntax error in command testing. 2011-02-28 00:34:03 +00:00
Griatch
0612e9ff31 A fix to the session base to step up the command counts and idle times properly. Fixes issue 137. 2011-02-27 23:20:27 +00:00
Griatch
9dcfea5971 Resolves issue 133. Added the location keyword to the ObjectDB.search() method for easier customizable object searches. 2011-02-27 22:55:42 +00:00
Griatch
2bdaf034c8 OBS: You need to resync your database! The Nickname system is now a separate database model with the result that also channel nicks are more robust. Also nickname replacement has been adjusted to fix some exceptional circumstances. Fixed a host of issues in the channel and nick handlers and adjoining commands that caused the channel-syscommands to fail in some situations. Resolves issue131. Resolves issue 132. Resolves issue 134. 2011-02-27 22:27:56 +00:00
Griatch
7ebcefae2e Adjusted the threaded webserver initialization to properly fit into the daemonization process when starting Evennia in threaded mode. Should behave the same way as interactive mode now. Resolves issue 125. 2011-02-23 21:08:02 +00:00
Griatch
606ce0c3c5 Resolves issue 130. 2011-02-23 19:19:39 +00:00
Griatch
46ca685c76 Made an "idle" command to be sent from the webclient to the server every 3 minutes to avoid conservative reverse proxies resetting connections on us. This should fix issue 129. 2011-02-21 18:19:04 +00:00
Griatch
ef59b97881 Expanded command test-suite functionality and added basic testing methods for commands in "System" category. 2011-02-21 17:47:02 +00:00
Griatch
5464487c93 Server module should be accessed through proxy, i.e. through the sessionhandler, at all times. Resolves issue 127. Script updates made @ps non-compatible, fixed the formatting. Resolves issue 128. 2011-02-21 12:56:44 +00:00
Griatch
f0b4c581f7 Removed the admin media files from the distribution again. Instead the server will now create the necessary symlink (Linux) or copy (Windows) of the default files in django/contrib/admin/media at initial startup. Currently only tested under Linux. If you don't want to re-run the initialization, copy/link the admin directory to ADMIN_MEDIA_PREFIX yourself. This deals with issue 124.
Also added a 'remove' functionality to the migrate.py script, for easily getting back the normal syncdb operation (useful when deleting/resetting the database a lot).
2011-02-20 22:07:35 +00:00
Griatch
acc89d0be2 Gave better webclient error message if online jQuery library was not found. 2011-02-15 07:39:19 +00:00
Griatch
803051a594 Removed the jQuery library from being shipped with the source (instead accessing it remotely). Download it separately if wanting to test the webclient features without an internet connection. This was due to it massively shifting the analysis of the Evennia code (we suddenly consist of almost 50% javascript code just due to the jQuery inclusion). 2011-02-15 07:12:33 +00:00
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