Commit graph

  • d3ee5a565b Added a loader to the server that automatically detects changes in default cmdsets and typeclasses (like when you change them in settings.py), loops over all objects in the database and updates the places were the old default was set. This will make it more intuitive to overload the default locations (which is the natural thing to do after all). After this update, just make sure to @reload your server once before editing your settings.py; this will store the old settings for you, so they change-detection can work subsequently. Griatch 2012-05-19 12:36:11 +02:00
  • 6fa5e42909 Fixed a typo in the example command template. Griatch 2012-05-19 11:01:48 +02:00
  • 4ce750d1ee Made some changes to the tests. All tests doesn't clear at the moment, seems to be something weird in the test system itself though, rather than an actual problem in the core. For example the test system reports an error with the @desc command that I cannot reproduce when testing that command for real in the game ... Griatch 2012-05-18 18:13:58 +02:00
  • 8ad4f4a9fc Changed player.search to only search for players explicitly. Added a MuxCommandOOC class to handle the OOC commands in a more uniform way. Fixed the @ic/@ooc and page commands. Resolves issue 233. Resolves issue 234. Griatch 2012-05-17 19:42:37 +02:00
  • 96e95ca525 Raised Python requirement to 2.6+. Some spurious work on the mdsp support. Griatch 2012-05-05 23:52:13 +02:00
  • 14ed95ebfe Removed with statement, it's not well supported (without future import) in python 2.5. Griatch 2012-05-04 09:20:30 +00:00
  • c49fbd7d99 Removed 'with' statement; it's available in Python2.5, but one needs to use the future import to do that, so easiest to remove it. Resolves issue 230. Griatch 2012-05-04 10:03:41 +02:00
  • 7058b9f210 Cleanup of API documentation. Griatch 2012-05-02 00:39:56 +02:00
  • fce5c79561 A name change in a command stopped the ev API from loading. Griatch 2012-05-01 23:56:59 +02:00
  • 4acfe48d9c Removed repetitive imports in the utils.create functions. I experimented with making these methods yield more, but it's hard to integrate this behaviour with actual production code. Griatch 2012-05-01 22:51:18 +02:00
  • a8139feb1a Updated ReST documentation. Griatch 2012-05-01 17:37:37 +02:00
  • 36b15b4ad8 Made some tweaks to some default commands, such as @version, which was renamed @about and displays some more info about the system. Griatch 2012-05-01 17:31:16 +02:00
  • 0e42eb74ed Updated how cmdsethandler reports syntaxerrors in command modules - this used to lead to rather opaque error messages. Now a dummy cmdset is created instead, with the key _ERROR_CMDSET and holding the error message. This allows the user to see that an error was reported instead of just being left in the blank. Full tracebacks are reported to log as usual. Griatch 2012-05-01 16:15:49 +02:00
  • e82ccc72ae Removing the resync step for doing a server reset - this should act pretty much like a shutdown. Griatch 2012-05-01 14:27:59 +02:00
  • 94477b8340 Updated the reload and shutdown mecanism to avoid a loop when shutting down from inside the game. Made sure to have server sync correctly with portal at @reload (some session info were lost before). Some other cleanups. Griatch 2012-05-01 14:19:54 +02:00
  • e82515f8cb Updated to a supported idmapper version. Added a method for calculating the cache usage of the idmapper, and tied it to the @system command. Griatch 2012-04-30 00:51:36 +02:00
  • 571c7a3cab Some more cleanups. Griatch 2012-04-29 21:17:14 +02:00
  • 1feb3a80a5 Some minor cleanups here and there. Griatch 2012-04-29 12:35:21 +02:00
  • ed6def0c88 Made XTERM256 properly range between 0-5 (it was erroneously capped at 1-5 which mean the darkest values of the colour cube were unreachable). Fixed some issues with the lock caching. Griatch 2012-04-29 01:26:10 +02:00
  • 73ff2afc78 Changed how the clean-cache script determines the size of the attribute cache. Griatch 2012-04-28 17:18:26 +02:00
  • e92c9ac93e Edited lockhandler to pre-determine an object's superuser-status instead of re-acquiring it every lock check. This caused a surprisingly large overhead considering how often locks are checked for various reasons. Griatch 2012-04-28 15:26:52 +02:00
  • 2dba8ad547 Changed attribute-caching to use a string as key rather than the attribute-object itself. The latter caused the database to be invoked in order to create the hash over and over. Griatch 2012-04-28 14:47:11 +02:00
  • 3091587e33 Added a timeout to the attribute caching; the system will now clean cache at regular intervals once it pass a certain size defined in settings. Griatch 2012-04-28 00:37:36 +02:00
  • e3ce0a7933 Some fixes to the caching, particularly in set_attribute. Griatch 2012-04-27 00:03:31 +02:00
  • 9d970ea7c5 Added full caching to all attributes on a per-object level. This speeds up attribute loading considerably. Griatch 2012-04-26 21:39:16 +02:00
  • 9f9dadd4eb Minor tweak to how cmdsets are matched with the "in" operator. Griatch 2012-04-26 19:31:03 +02:00
  • 6e08c011a1 Further caching and optimization, making some operations noticeable faster in the end. Griatch 2012-04-26 17:47:25 +02:00
  • 1a6ef5d983 Added more caching to channelhandler as well as players in order to cut back on unnecessary database calls. Griatch 2012-04-26 13:38:34 +02:00
  • a8373c685f Some optimizations in one of the most expensive bits of the server, namely the command handler. Griatch 2012-04-25 18:47:03 +02:00
  • 21eed74c8d Minor fixes to various default commands. Griatch 2012-04-22 23:31:22 +02:00
  • c688865e10 Slightly changed text on not-found command. Griatch 2012-04-22 22:58:23 +02:00
  • 3fba0bdbe3 Changed suggestion system to give more suggestions also if the help entry catches the exact match. Griatch 2012-04-22 21:54:28 +02:00
  • e4006bf386 Further cleanup in the error logic for commands - the system now gives resonable suggestions for all commands. Griatch 2012-04-22 20:04:24 +02:00
  • 181abb84a8 Cleanup of the help command, making it a lot easier to read. Also added cos-suggest algorithm to make better help entry suggestions. Griatch 2012-04-22 19:45:45 +02:00
  • 0c292b5ff2 Changed how command not found errors are handled by default: Implemented a cos-likeness algorithm (Coling 2008) for comparing strings, which allows for decent suggestions and speed. Griatch 2012-04-22 16:36:31 +02:00
  • 4678234e9a Multiple fixes to ev and utils: Griatch 2012-04-22 12:23:42 +02:00
  • 3306e36d82 Fixed a bug in @set. Unittests all clear again. Griatch 2012-04-21 18:21:38 +02:00
  • 8c3b49e704 Changed how the Typeclass system returns errors. Instead of echoing typeclass erros to the MUD-info channel (which is not only not only very spammy for everyone but also very hard to make clean so as to avoid recursion at a stage of typeclass failing), the system instead stores a property on itself called 'typeclass_last_errmsg' that holds eventual errors. This means that the task of reporting errors does not fall on the typeclass system itself but on the calling methods, as it should be. So src.utils.create.create_* functions now takes a new optional keyword "report_to" that holds an object to receive errors. If this keyword is given, the function msg():es that object with the error and returns None as before. If report_to is not set however, the create_* methods now return an Exception containing the error text. All default commands have been changed to accomodate for this behaviour, which allows for much more control over errors. Griatch 2012-04-21 16:15:37 +02:00
  • 63329f5420 Added the ability to escape colour codes with \, So using \{g in a text will now result in '{g' being printed instead of the text switching to bright green. This can be useful for documentation. Griatch 2012-04-15 23:42:57 +02:00
  • 5a2228763f Fixed a lingering bug with @set that made it not work when assigning normal strings without quotes. Changed so that proper Python constructs (lists, dicts etc) now requires you to entering proper Python syntax (since this is parsed). Griatch 2012-04-15 23:09:56 +02:00
  • bcf214ee0d Changed so object.move_to() traverses exits by default - i.e. you will no longer end up INSIDE the exit object if you move_to the exit, but instead you will go to the exits destination. This should be the most common use. The use_destination keyword to object.move_to can be used to change this behaviour. Also @teleport (which uses move_to()) has gotten a new flag to allow for teleporting into exits if so specifically desired. Resolves issue 224. Griatch 2012-04-15 22:04:15 +02:00
  • 464aa8ca9e Added the ability to clear an object from the global cache. This is rarely needed (and can be potentially dangerous if the object depends on certain startup methods to run and/or holds temporary attributes on themselves - these will all be lost due to a new instance being created. It is hoever necessary when it comes to renaming Exits - since the Command on the exit must then change name too, recaching the Exit will also update the command. Resolves issue 223. Griatch 2012-04-15 21:46:43 +02:00
  • 91ec33b9a7 Fixed a spurious error happening with mud clients not properly implementing TTYPE negotiating (sending strings instead of numbers to identify their abilities). Griatch 2012-04-15 19:53:03 +02:00
  • 6501f30cbc Fixed an elusive bug in utils.get_variable_from_module() that caused the connection screen to sometimes not load properly, due to the imported modules being erroneously extracted and used. Griatch 2012-04-15 19:05:50 +02:00
  • 5264dc85bb @set now supports all forms of nested dicts and lists under Python 2.6. Python2.5 still depends on the old recursive solution that does not support nesting. Maybe time to up the python dependency number? Fixes Issue 225. Griatch 2012-04-14 10:55:56 +02:00
  • 9475fbd0d9 Fixing a bug happening if connecting with plain telnet caused by the TTYPE handshake not being properly handled. Also made color default for telnet, hopefully all terminals should handle color by now? Griatch 2012-04-12 23:39:22 +02:00
  • 4977153de2 Fixed a formatting error in the twisted setup string for Windows. Griatch 2012-04-02 00:27:14 +02:00
  • 4b56d5a3a4 Fixed a bug that caused the webclient input line to suddenly reset every three minutes. Thanks to use "lusid" for supplying the hint on fixing this one! Also added a more consistent way of parsing the incoming address. Griatch 2012-04-01 22:52:12 +02:00
  • ca32950d90 Fixed headers on contribs, they were still referring to the old base*.py -style files under gamesrc. Griatch 2012-04-01 22:23:47 +02:00
  • ad63abee39 Admin-media symlinking sometimes fail under virtualenv. Catching the error and giving a warning instead. Griatch 2012-04-01 19:07:34 +02:00
  • 00c4f8a60d Added implementation plan for testing game. Griatch 2012-04-01 13:15:49 +02:00
  • 75cc8bf1ad Added an initial brainstorm for a more fully-featured tutorial multiplayer game "Battle for Evennia". The idea is to use this as a basis for a series of tutorials on building a relatively complete game in Evennia. The details will probably change, so putting it up for comments from the community. Griatch 2012-03-31 21:10:34 +02:00
  • fcc338c027 Minor clarifications in ev.py. Griatch 2012-03-31 17:06:31 +02:00
  • 551a91caef Editing the ev.py API, removing db_* manager shortcuts in favour of a 'managers' container holding them all. It makes the API slightly less "flat", but makes for a cleaner interface. Griatch 2012-03-31 16:50:53 +02:00
  • c728524c72 Made get_and_merge_cmdsets visible to default cmds. Griatch 2012-03-31 16:13:01 +02:00
  • d44dd92b5f Continuing to make more methods _private to simplify API. Griatch 2012-03-31 16:09:48 +02:00
  • c8df141e89 Further cleanup of source; making class methods _private for clarity in the API. Griatch 2012-03-31 15:09:22 +02:00
  • fc156b5a54 Continuing work on API, making local-use class properties _private to make things easier to explore. Griatch 2012-03-31 13:06:29 +02:00
  • 1ce5c6b84a Changed SECRET_KEY to be randomly generated by manage.py when settings.py is first created, rather than to rely on people manually changing the default from settings_default when first starting the server. Griatch 2012-03-31 11:32:26 +02:00
  • 45c5be8468 More whitespace cleanup. Griatch 2012-03-30 23:57:04 +02:00
  • c0322c9eae Cleaning some unnecessary whitespace, overall cleanup of various source codes. Griatch 2012-03-30 23:47:22 +02:00
  • d4c97d7df8 Fixed a caching issue with TypedAttributes. Griatch 2012-03-29 20:30:35 +02:00
  • 82a10903d1 Added more comments to help exploration through the ev interface. Griatch 2012-03-29 19:42:08 +02:00
  • e6aab74ee2 Fixing new STATIC_URL setting to work and be backwards compatible with Django versions before 1.4. Griatch 2012-03-29 01:15:01 +02:00
  • c67b949a4e updated deprecated setting in settings_default.py Doug Miller 2012-03-28 21:59:45 +00:00
  • 897be724f5 Fixed some deprecated settings changed for django1.4. Griatch 2012-03-28 22:01:59 +02:00
  • 06566c3e8f Changed the way server reports logged-in/unlogged-in sessions to the log file. Griatch 2012-03-28 21:42:06 +02:00
  • da51cb063f ev-API cleanups. ev can now be imported also from a non-django initiated python interpreter (it initiates itself). Gave some more info text and made sure wrapped db_ methods correctly forward their doc strings for introspection. Griatch 2012-03-27 09:59:11 +02:00
  • 9409f835bc Fixing an error with the @reload resulting from removing the conf/ modules. Griatch 2012-03-25 22:35:33 +02:00
  • b9c6c4a6c2 Killing a bug that caused issues with migrations. Griatch 2012-03-25 22:30:51 +02:00
  • a713ad16d3 Migrate! Fixes some more objects to the new API. Griatch 2012-03-25 21:53:24 +02:00
  • 81980605b4 OBS! Run Migrations! Converts old API cmdsets and typeclass paths to new system for already existing objects. Griatch 2012-03-25 20:30:05 +02:00
  • 7c4e0213ce Fixed a bug since CmdCreate changed name to CmdUnloggedinCreate (to avoid name clashes in API) Griatch 2012-03-25 19:59:53 +02:00
  • 734edbb761 Fixing a lingering bug with removing the conf modules. Griatch 2012-03-25 19:57:08 +02:00
  • e042366f31 Removed the conf/ modules, putting them into conf/examples instead, in line with other API changes. The gamesrc/ folder is now completely empty and all new modules have to be added explicitly. Griatch 2012-03-25 19:52:51 +02:00
  • bdb5ab0123 Removed @ps command, it is superceded by @serverload and was just a placeholder anyway. Griatch 2012-03-25 18:47:31 +02:00
  • 07a17ac15e Added ev API support to @py command. Griatch 2012-03-25 18:36:23 +02:00
  • b2f45a7cf4 Fixed an inconsistent API name. (db_serverconfs -> db_serverconfigs) Griatch 2012-03-25 18:21:22 +02:00
  • 93a1646ea7 Moved contribs to use the new API. Added the system command keys to a property syscmdkeys, for easy access from ev.py. Griatch 2012-03-25 18:11:14 +02:00
  • d3ea942ac8 Fixed tutorial_world to use ev API. Griatch 2012-03-25 17:39:45 +02:00
  • e7869ed830 Removed the old base* start files from game/gamesrc. This is in line with the new API usage. Unfortunately this will likely lead to some collisions for people. Griatch 2012-03-25 17:23:10 +02:00
  • b2d91d9bb5 Switched settings_default to use src/ base modules instead of modules in game/gamesrc/ as default (these will be removed) Griatch 2012-03-25 17:13:39 +02:00
  • b43fb3156a Added create_* and search_* helper methods directly in the API. Griatch 2012-03-25 17:01:27 +02:00
  • 4398d42360 Added new templates to gamesrc/*/examples. The old base* modules still in place. Some cleanup of the API. Griatch 2012-03-25 16:35:22 +02:00
  • 3408f3ca3f Added alternative function names to create module, for consistency with the search module. This means you can do create.objects() now too. Griatch 2012-03-25 14:01:51 +02:00
  • 88c0087fbd Updated game/ for the ev API. There will likely be some changes happening in the game/folder, in the way new objects are inherited. This should use the API rather than inherit from the basecommand/baseobject modules (these will probably into the example folders as vanilla templates instead). Griatch 2012-03-25 13:09:17 +02:00
  • 3466e406f6 Exposing some more utils modules to API. Griatch 2012-03-24 23:24:54 +01:00
  • cdbdbe6928 API fix; the default_commands ended up in the wrong layer Griatch 2012-03-24 23:19:44 +01:00
  • 0d01462077 Adding a new API system to Evennia. This centralizes all access of the evennia driver through a single module "ev". Importing ev one should be able to access (and also importantly, easily explore) Evennia's API much easier. This API goes a long way to "flatten" the structure so that one doesn't need to remember how to find some method in a deeply nested subdirectory. As part of this work, I have also written full listings of all available properties on Typeclassed objects (including those inherited in various ways). Should hopefully make things easier to find. One can of course still import things directly from src/ as before. But this is a first step towards removing the "base" objects in game/gamesrc and instead making those accessible through the core API. Griatch 2012-03-24 23:02:45 +01:00
  • 7a2cdd3842 Moved all command definitions of Typeclassed entities up one level, to Object, Player and Script respectively. The actual code is still on the models (ObjectDB, PlayerDB and ScriptDB), but one should not be able to use the methods without having to dig into the code as far. Also added extensive, up-to-date headers to the inheriting base objects in game/gamesrc. Griatch 2012-03-24 18:25:32 +01:00
  • 8ada50fcb7 Adding more lenient checks of TTYPE to avoid a visible traceback. The error with TTYPE utf-8 tracebacks seems to be in an older version of tintin++, newer versions don't show this behaviour. Older versions of tintin++ will display one Huh? (with logged traceback) after which everything will work. This is reported in issue 219. Griatch 2012-03-21 19:56:04 +01:00
  • 6aac9e6c2b Fixed permission on @batchcode command. Griatch 2012-03-21 11:46:15 +01:00
  • 8350c7dca7 Added #INSERT capabilities to @batchcmd processor too. This allows to group and run multiple batch-cmd batchfiles from one central batchfile. You can not mix batchcmd and batchcode files however - that would go beyond the use cases for the respective batch processors (and give unnecessarily complex code for little gain). Griatch 2012-03-21 10:24:49 +01:00
  • 2ebbf51a8a Adding some more info to requirements.txt. Resolves issue 222. Griatch 2012-03-21 09:09:37 +01:00
  • fd9f0829ca Added basic package requirements file ploosh 2012-03-21 03:00:47 -04:00
  • 8b99b8a130 Added #INSERT parameter for batch-code processor. This should resolve the issue of wanting to combine several batch files. Also improved traceback feedback from the batch-code processor. Griatch 2012-03-21 01:53:33 +01:00
  • 1ca8df9e70 Fixed issues with batch-code processor not working correctly. Also added some better parsing. Resolves issue 221. Griatch 2012-03-20 22:29:37 +01:00
  • 81e7a31072 Removed a mis-placed line in the object search that caused spurious errors in some commands. Griatch 2012-03-20 19:59:29 +01:00
  • f09bfdf1d6 Fixed pose command to echo in room only if a pose is actually struck ploosh 2012-03-17 03:22:52 -04:00
  • 2eb5c4fc8c Updating ReST docs. Griatch 2012-03-15 15:26:07 +01:00