Commit graph

  • 28fe2ad3f4 Run Migrate. Implemented a full separation between Player and Character - Players (OOC entities) can now also hold cmdsets and execute commands. This means that "disconnecting" from a Character becomes possible, putting the Player in an "OOC" state outside the game. This overall makes the game much more stable since there used to be issues if the character was destroyed. Having an OOC set also avoids the previous problem of @puppeting into an object that didn't have any cmdset of its own - you couldn't get back out! A new default OOC-Cmdset handles commands available to a player while OOC. Commands in this set are applied with a low priority, allowing "IC" mode to give precedence if desired. Griatch 2011-04-23 11:54:08 +00:00
  • ce2a8e9ffe Fixing @serverload to work on Mac/BSD. Use -o rss instead of rsz. This works on Linux/BSD/Mac with no extra per-OS logic needed. Greg Taylor 2011-04-23 03:16:29 +00:00
  • 7dc4901ccc Fixed a migration bug when starting with a clean database. Griatch 2011-04-21 20:44:45 +00:00
  • 6f0d21802b Debugged and added @cpattr and @mvattr. Added unittest cases for all default commands for which they are suitable. Many small bug fixes as part of that. Griatch 2011-04-21 16:45:18 +00:00
  • 7b43c4a608 Added @cset command for changing a channel's access restriction settings. Added @cboot and a few more missing channel commands. Cleaned out the utils commands and fixed formatting on a few default commands. Griatch 2011-04-21 10:29:24 +00:00
  • 7f7016ad7d Run Migrate. Implemented @search functionality with limits as per MUX (as part of the @find command). Added some more channel-related commands and changed locks for channels to have a "control" lock type rather than "admin". The migration converts this in existing channels.. Griatch 2011-04-20 22:40:27 +00:00
  • 23462c626c Further updates to the IMC2 system, making it a bit easier to use. Griatch 2011-04-20 00:27:19 +00:00
  • c70d59045a Some bug fixes in the IMC system. Griatch 2011-04-19 21:40:53 +00:00
  • b856cb8faf Implemented imcwhois command as part of the imcinfo command cluster. Griatch 2011-04-19 21:05:18 +00:00
  • 36bc29865b Some minor fixes and cleanups. Griatch 2011-04-19 15:31:13 +00:00
  • 0ea95631bf IMC (inter-mud-communication) is working again. Evennia's implementation connects an existing Evennia channel to an IMC2 network/channel seamlessly. One can listen to more than one IMC2 channel, but only send to one IMC channel, as defined when setting up the connection. One can list imc channels and muds connected to the network. We have only limited support for imctell at this point: It works for IMC users to send imc-tells to users on Evennia, but seemingly not the other way around. Evennias imctell function at least doesn't seem to properly send tells to my Talon IMC user. Griatch 2011-04-19 15:13:34 +00:00
  • 935bef1f43 Cleaned up the test suite to pass all tests again. Cleaned up the build command's parse() method. Fixed some minor bugs. Griatch 2011-04-19 09:52:49 +00:00
  • 1ced5ee8f2 Added more compatibility checks for twisted.words in case IRC is activated. IMC2 implementation is cleaned up and converted to new comm system, but it's not working correctly and not usable. Griatch 2011-04-18 22:09:29 +00:00
  • 019eb8d00c Run Migrate. This fixes a possible error that could have snuck into the database from a buggy config value a few commits back, causing the server to re-run the initial startup and thus give database errors. Griatch 2011-04-16 22:48:00 +00:00
  • 7d30b337d9 Cleanups and bug fixes. Fixed the @unlink command and also made it overally more stable. Resolves issue 161. Added more string conversion routines to handle non-ascii variables being stored in an Attribute. Resolves issue 160. Griatch 2011-04-16 22:26:22 +00:00
  • 14db4bea4d Missed a spot importing the new config model. Resolves issue 158. Griatch 2011-04-14 21:46:33 +00:00
  • 88626842b7 Fixed a bug in serverconfig. Tweaked how the default connection screen is stored, to allow for server updates. Griatch 2011-04-12 22:22:04 +00:00
  • 7f9f21f45e Migration needed. Refactored the config.configValue model into server.ServerConfig (that's what the config model were used for anyway). The new model can handle arbitrary data structures through pickle. Run ./manage.py migrate to sync your database with the new setup. Moved Connect screens (the text screen first seen when connecting) away from the database and into a module in gamesrc/world. This module allows for conveniently adding new connect screens on the fly. More than one screen in the given module will mean a random screen is used. Griatch 2011-04-12 21:43:57 +00:00
  • f1404356ea Forgot to remove some defunct imports. Griatch 2011-04-10 14:25:00 +00:00
  • 2ee54678ae Migration needed. Changed how connection screens are defined, rather than being a database model, they are created on-the fly. I didn't migrate over the screen data into the new module file though, so if you had custom connection screens, you need to manually add them to the new module in gamesrc/world/connection_screen.py. Griatch 2011-04-10 14:21:41 +00:00
  • 52785e8f3e Obs:Migrate. Made Comm system more generic, including the ability to connect arbitrary protocols to channels. Re-worked the IRC connectivity system - you can now again communicate between IRC and in-game evennia channels. Griatch 2011-04-10 12:39:07 +00:00
  • c81d238b0c Fixed a bug in batchcommand that caused crashes. Resolves issue 153. Griatch 2011-04-09 14:48:57 +00:00
  • 6c53ec2bdb OBS: Run migrate! Made exit's destination into a database field for performance. Fixed a too greedy @reload that caused ContentTypes to loose information. Resolves issue 157. Migrate with: "python manage.py migrate" Griatch 2011-04-08 23:10:04 +00:00
  • 0cff54f136 Resolves issue 156. Griatch 2011-04-08 20:06:04 +00:00
  • 695317e699 Resolves issue 155. Cleaned up the copy functionality and a few minor bugs at the same time. Copying an active character is somewhat confusing though (and deleting a character will currently make the player unable to log back in). Griatch 2011-04-07 22:10:51 +00:00
  • 4519169e1c Fixed a type. See previous commit. Griatch 2011-04-05 23:30:32 +00:00
  • 6eff51de20 OBS: Migration needed(objects, scripts, players). This resolves issue 136 by allowing database objects to be nested in lists and dictionaries as attributes on objects. Behind the scenes, only the DBREF is stored since storing dbobjects cannot be pickled. One used to be able to store single objects this way, but objects hidden in nested iterable structures were not found. Note that ONLY lists and dictionaries are supported to store on attributes - custom iterables will be stored and retrieved as a generic list instead - this is a tradeoff to be able to store database objects. Griatch 2011-04-05 23:28:40 +00:00
  • 02775398c4 Cleaned up @serveload and @time commands. Resolves issue 149. Resolves issue 146. Griatch 2011-03-26 00:26:15 +00:00
  • d2d86871e9 Rig up south to be happy with two of our models that FK to one another circularly. Greg Taylor 2011-03-24 21:07:09 +00:00
  • bb7e5dd9f5 Editing the CODING_STYLE, adding a mention on documentation Griatch 2011-03-24 09:26:30 +00:00
  • 9b9f90d91c gtaylor convinced me to add migrations to the Evennia repo. This means that game/migrate.py is no more. The migrations will help you to adjust your database when Evennia releases a new database change, no need to drop the database or manually adjust tables. To make use of our schema migrations, you need to have Django-South installed. Griatch 2011-03-21 00:53:58 +00:00
  • 75956de7d1 Small bugfixes in the wake of the cmdset changes. Resolves issue 148. Griatch 2011-03-20 23:14:36 +00:00
  • 9d80284504 Resolves issue 147. Griatch 2011-03-20 22:36:41 +00:00
  • d73dd65500 Adjusted the way typeclasses are searched. Should correctly find overloaded methods now. Griatch 2011-03-20 20:44:48 +00:00
  • 2dd856d1f2 Set the correct help_category for the @script command. Griatch 2011-03-20 20:01:53 +00:00
  • 126e2ea61f OBS: You need to resync your database! Moved cmdsets into the database rather than being dependent on scripts. Moved the creation of the cmdset- and cmdset-handlers into ObjectDB.__init__ rather than bootstrapping it from the typeclass. Added some more script functionality for testing, includong the @script command for assigning a script to an object. Griatch 2011-03-20 19:45:56 +00:00
  • e965830735 Made the reload mechanism fully asynchronous. Work on improving cache operations. Griatch 2011-03-20 13:24:07 +00:00
  • 85e61bbf2d Forgot an import. Griatch 2011-03-20 10:26:48 +00:00
  • 857b253a6f Added the holds() lock function to check for an name or id held in inventory. Griatch 2011-03-20 10:22:21 +00:00
  • a429047452 Fixed a bug in @set that would not display attributes if they were set to 0 or None. Griatch 2011-03-20 01:19:05 +00:00
  • 7600892d5d Fixed a bug in examine. Gave a more informative error message from asynchronous reload. Griatch 2011-03-19 23:56:24 +00:00
  • 2f78bacd97 Added a check for multiple connected sessions to avoid moving disconnected object more than once. Resolves issue 145. Griatch 2011-03-19 22:17:00 +00:00
  • 8288534cf6 Fixed a firefox-incompatability bug in the webclient. Resolves issue143. Griatch 2011-03-17 23:18:44 +00:00
  • de28b2d575 Fixes @locks to block self-escalation. Fixed a few bugs in @reload that caused it to reload also unsafe modules. Griatch 2011-03-17 22:28:30 +00:00
  • 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). Griatch 2011-03-17 21:43:18 +00:00
  • 295a82cc04 @locks command bug fixed; Had forgotten a 'not' in the lock-check, reversing the result. Griatch 2011-03-16 07:16:32 +00:00
  • 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) Griatch 2011-03-15 16:08:32 +00:00
  • c2030c2c0c Resolves issue 139. Griatch 2011-03-14 08:41:47 +00:00
  • cd1c415711 Edited the help-category of utility commands to make wiki auto-command-help match. Griatch 2011-03-03 16:50:27 +00:00
  • 38014eda3c Resolves issue 138. Griatch 2011-02-28 23:43:14 +00:00
  • e094a4d173 Fixed a test suite syntax error in command testing. Griatch 2011-02-28 00:34:03 +00:00
  • 0612e9ff31 A fix to the session base to step up the command counts and idle times properly. Fixes issue 137. Griatch 2011-02-27 23:20:27 +00:00
  • 9dcfea5971 Resolves issue 133. Added the location keyword to the ObjectDB.search() method for easier customizable object searches. Griatch 2011-02-27 22:55:42 +00:00
  • 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. Griatch 2011-02-27 22:27:56 +00:00
  • 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. Griatch 2011-02-23 21:08:02 +00:00
  • 606ce0c3c5 Resolves issue 130. Griatch 2011-02-23 19:19:39 +00:00
  • 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. Griatch 2011-02-21 18:19:04 +00:00
  • ef59b97881 Expanded command test-suite functionality and added basic testing methods for commands in "System" category. Griatch 2011-02-21 17:47:02 +00:00
  • 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. Griatch 2011-02-21 12:56:44 +00:00
  • 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). Griatch 2011-02-20 22:07:35 +00:00
  • acc89d0be2 Gave better webclient error message if online jQuery library was not found. Griatch 2011-02-15 07:39:19 +00:00
  • 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). Griatch 2011-02-15 07:12:33 +00:00
  • 6a13d07c55 Fixed some hooks to match wiki docs. Griatch 2011-02-14 18:31:16 +00:00
  • 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. Griatch 2011-02-14 17:18:31 +00:00
  • ecbd36c5a8 Fixes webclient spacing issues in lists. Patches created by user "61924.00". Still issues with some line breaks, as per issue 121. Griatch 2011-02-06 17:06:29 +00:00
  • 2c66f039fd Synced INSTALL file with wiki instructions. Griatch 2011-02-05 18:25:09 +00:00
  • 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. Griatch 2011-02-05 18:06:18 +00:00
  • 19538ff00b Resolves issue 126. Griatch 2011-02-05 12:17:13 +00:00
  • 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. Griatch 2011-01-13 13:10:39 +00:00
  • e9e94c024b Resolves issue 123. Griatch 2011-01-09 11:53:54 +00:00
  • 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. Griatch 2010-12-12 10:54:33 +00:00
  • 6ecbda03ea Changed web client hostname resolver to be more accurate. Griatch 2010-12-11 15:07:19 +00:00
  • 7f3633c70a Web client users are now notified if the server is shut down forcefully (Ctrl-C, reboot etc) Griatch 2010-12-11 14:26:57 +00:00
  • 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. Griatch 2010-12-11 13:37:26 +00:00
  • b1682f78c9 Removed a batch of symlinks that accidentally got into the repository in the latest few updates. Griatch 2010-12-08 08:31:19 +00:00
  • e8361a60d1 A file was not properly added in the last commit. Added now. Griatch 2010-12-07 22:27:50 +00:00
  • 7e898842b9 Fixed a string error in the webclient that could appear on some server setups. Added URL parsing to the webclient. Griatch 2010-12-07 21:46:26 +00:00
  • e7b3916aec Fixed a typo in the new telnet protocol when logging out. Griatch 2010-12-07 02:55:16 +00:00
  • 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 Griatch 2010-12-07 02:34:59 +00:00
  • 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. Griatch 2010-11-23 18:10:41 +00:00
  • 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. Griatch 2010-11-23 01:24:56 +00:00
  • a3917073ff Fixing the test runner. Unit test fixes pending. Greg Taylor 2010-11-22 15:33:28 +00:00
  • 2690e0790e Adding a docs/requirements.txt for our pip/viritualenv users. Greg Taylor 2010-11-22 15:33:19 +00:00
  • b091cde574 Some bugfixes and cleanup. Griatch 2010-11-21 20:01:52 +00:00
  • 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. Griatch 2010-11-21 19:02:24 +00:00
  • a7899e0119 Added version-validation of dependent packages upon server start. Griatch 2010-11-11 01:28:12 +00:00
  • 708aa66a04 Work around Issue 117. This is PROBABLY the right fix. Ari Mudev 2010-11-10 23:03:38 +00:00
  • 09bf394284 Fix Issue 118. Ari Mudev 2010-11-10 22:44:48 +00:00
  • 8aa22fbec8 Fixed bugs in alias and search system, including properly searching inventory. Expanded @alias command with more functionality. Griatch 2010-11-09 14:46:39 +00:00
  • 50e66b3813 Remove reference to PySqlite2 since we are recommending Python v2.5 (which includes the 'sqlite3' module in the base distribution). Ari Mudev 2010-11-01 06:11:01 +00:00
  • 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.) Ari Mudev 2010-11-01 05:44:19 +00:00
  • 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. Griatch 2010-10-31 18:21:23 +00:00
  • 7eaf3d221c Resolved issue113, avoiding a loophole in which the protection about @reloading a timed script could be circumvented. Griatch 2010-10-31 08:34:38 +00:00
  • 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. Griatch 2010-10-31 08:10:02 +00:00
  • 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. Griatch 2010-10-30 18:42:37 +00:00
  • 268328d36a Fixed @py to match the wiki documentation. Griatch 2010-10-21 23:06:55 +00:00
  • 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. Griatch 2010-10-21 20:15:11 +00:00
  • 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. Griatch 2010-10-21 18:58:47 +00:00
  • c9861e06de Red button typo. Ari Mudev 2010-10-19 01:39:25 +00:00
  • 04ae472e1a Tweak @create help to provide a working example as intended. Ari Mudev 2010-10-19 01:30:24 +00:00