Commit graph

108 commits

Author SHA1 Message Date
Griatch
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.
2012-05-19 12:36:11 +02:00
Griatch
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.
2012-05-17 19:42:37 +02:00
Griatch
96e95ca525 Raised Python requirement to 2.6+. Some spurious work on the mdsp support. 2012-05-05 23:52:13 +02:00
Griatch
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. 2012-05-04 10:03:41 +02:00
Griatch
e82ccc72ae Removing the resync step for doing a server reset - this should act pretty much like a shutdown. 2012-05-01 14:27:59 +02:00
Griatch
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. 2012-05-01 14:19:54 +02:00
Griatch
571c7a3cab Some more cleanups. 2012-04-29 21:17:14 +02:00
Griatch
1feb3a80a5 Some minor cleanups here and there. 2012-04-29 12:35:21 +02:00
Griatch
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.
2012-04-29 01:26:10 +02:00
Griatch
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. 2012-04-28 00:37:36 +02:00
Griatch
6e08c011a1 Further caching and optimization, making some operations noticeable faster in the end. 2012-04-26 17:47:25 +02:00
Griatch
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.
Also, the default ADMIN_MEDIA static files changed location in Django 1.4. The initial_setup function now accounts for this.
2012-04-21 16:15:37 +02:00
Griatch
91ec33b9a7 Fixed a spurious error happening with mud clients not properly implementing TTYPE negotiating (sending strings instead of numbers to identify their abilities). 2012-04-15 19:53:03 +02:00
Griatch
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. 2012-04-15 19:05:50 +02:00
Griatch
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? 2012-04-12 23:39:22 +02:00
Griatch
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. 2012-04-01 22:52:12 +02:00
Griatch
ad63abee39 Admin-media symlinking sometimes fail under virtualenv. Catching the error and giving a warning instead. 2012-04-01 19:07:34 +02:00
Griatch
d44dd92b5f Continuing to make more methods _private to simplify API. 2012-03-31 16:09:48 +02:00
Griatch
45c5be8468 More whitespace cleanup. 2012-03-30 23:57:04 +02:00
Griatch
82a10903d1 Added more comments to help exploration through the ev interface. 2012-03-29 19:42:08 +02:00
Griatch
06566c3e8f Changed the way server reports logged-in/unlogged-in sessions to the log file. 2012-03-28 21:42:06 +02:00
Griatch
9409f835bc Fixing an error with the @reload resulting from removing the conf/ modules. 2012-03-25 22:35:33 +02:00
Griatch
734edbb761 Fixing a lingering bug with removing the conf modules. 2012-03-25 19:57:08 +02:00
Griatch
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. 2012-03-25 19:52:51 +02:00
Griatch
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.
2012-03-24 23:02:45 +01:00
Griatch
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. 2012-03-21 19:56:04 +01:00
Griatch
309c03ce43 Added at_server_start() and at_server_stop() hooks to allow users to safely initialize their custom systems whenever the server restarts. 2012-03-07 20:32:04 +01:00
Griatch
7818ca077a Fixed some spurious bugs. 2012-02-29 21:58:08 +01:00
Griatch
1fa5791e19 Added aggressive caching for common typeclassed variables. 2012-02-25 23:37:50 +01:00
Griatch
b99db98191 Fixed a silly typo. 2012-02-25 21:15:58 +01:00
Griatch
a0a205c945 Did some additions to the MSDP implementation. Added a first test for implementing MSDP commands, but it is not working yet. 2012-02-25 21:14:48 +01:00
Griatch
9935bff36e Changed internal bit identifiers in AMP protocol, for compactness. 2012-02-25 19:26:54 +01:00
Griatch
6d73b05d91 Fixed a webclient issue that caused urls to loose their following whitespace. 2012-02-20 23:25:22 +01:00
Griatch
3e73529b96 Added some more instructions to the Limbo room desc, telling people they should log out and create a new, non-admin account at the login screen in order to play the tutorial_world properly. 2012-02-20 22:25:58 +01:00
Griatch
8b5f3628ab Added info about creating the tutorial world to the Limbo desc. Also refactored some of the lock functions a bit for efficiency. 2012-02-06 21:48:50 +01:00
Griatch
cdab5a240b Added RSS feed support to Evennia. This uses the @rss2chan command to tie a feed to an in-game channel. Updates to the feed will henceforth be echoed to the channel. The reader requires the python-feedreader package to be installed. 2012-01-28 20:12:59 +01:00
Griatch
1d40f688e5 Added the @ban and @unban commands to the default command sets, allowing an admin to filter access from users without outright deleting their accounts. The ban list is stored in the database, but the checking is not hard-coded in the server/portal, but done in the normal login command(s), meaning it can be customized easily. Also contrib/menu_login has been updated to check for banned connections. 2012-01-27 23:53:03 +01:00
Griatch
dfec9eeb7d Started on MSDP support, although not working nor activated at this time. 2011-11-20 19:24:16 +01:00
Griatch
4cd80284c9 Implemented xterm256 colours. If not supported by client, converts to normal ANSI, as per kaViir's snippet. Integrates into Evennia's normal ansi parser and collaborates with TTYPE protocol to determine if the client supports it. 2011-11-20 14:56:07 +01:00
Griatch
fb78758356 Implemented working MCCP (data compression) and MSSP (mud-listing crawler support). Moved all user-level customization modules from gamesrc/world to gamesrc/conf to reduce clutter. 2011-11-20 11:52:01 +01:00
Griatch
a4f8019c4a Added MCCP (compression of data stream between server-client). Not fully functioning yet, tintin++ tends to complain of compression errors after a while (the server degrades back to uncompressed mode gracefully though). MCCP is thus deactivated in the server at the moment. 2011-11-20 00:50:11 +01:00
Griatch
2104fd391b Adding TTYPE support (allows server to query client for information such as name and capabilities, assuming the client supports ttype). 2011-11-19 19:34:00 +01:00
Griatch
af9fef14a4 Fixed so that sqlite3 is properly detected for the server to launch custom db PRAGMAs. 2011-11-13 23:15:04 +01:00
Griatch
329a13bf8a Added more error checking to the oob function launch code. 2011-11-09 00:12:55 +01:00
Griatch
bced571805 Added api functions for implementing protocols sending out-of-band data between server and portal (e.g. like GMCP) 2011-11-08 22:54:02 +01:00
Griatch
3e8b43d222 More fixes and cleanup in wake of ic/ooc changes. 2011-11-06 23:55:24 +01:00
Griatch
55f6f5b713 Contrib: Added a new, alternative login system, using menus. Also edited the ways unlogged commands are started by the engine, by using a standardized system command name (it does not need to be "look" anymore). 2011-11-06 18:53:10 +01:00
Griatch
2b2d27ed39 Changed the way unloggedin commands work. Rather than the cmdhander having a special state for unlogged-in commands, the session itself simply stores the cmdset from settings.CMDSET_UNLOGGEDIN. Clean and efficient and also gives a lot more freedom for creating custom login mechanisms (notably it opens the door to using menu systems). 2011-11-06 17:38:29 +01:00
Griatch
70b4b559a5 Fixed a typeclass access bug in @find. Resolves issue 199. 2011-10-10 09:14:50 +02:00
Griatch
8d3817ccd4 Added at_initial_setup hook. Create a module in game/ and point to it with settings.AT_INITIAL_SETUP_HOOK_MODULE. This module must contain at function at_initial_setup(), which will be called very last in the setup procedure. If no module is given or fail to load, this will fail quietly. 2011-10-09 19:42:39 +02:00