Commit graph

1319 commits

Author SHA1 Message Date
Griatch
370b7ca86c Fixed typo data-migration for new attribute storate type. 2012-02-14 23:46:19 +01:00
Griatch
a32aebaa0e OBS- need to run migrations! Refactored attributes to use a slightly different internal storage format for faster access. Also set up caching of all attribute data, so subsequent reads of an attribute will not hit the database anymore, and writes will re-cache. 2012-02-14 23:40:16 +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
42d502bfc6 OBS - Database schema has changed! If you use south, you need to run manage.py migrate!
This adds db indexing on a set of important database fields, all in the interest of optimization.
2012-02-06 13:18:25 +01:00
Griatch
b87f787c38 Added some info the idmapper header, detailing the evennia changes better. 2012-02-06 12:38:17 +01:00
Griatch
d36a79b2cc Went over the Command class' basic methods, cleaning up and optimizing while still trying to keep things clean, such as using cleverer loops and try...except instead of if statements. Also cleaned up the way attributes are retrieved. Results in roughly a halving of the time that the code spends in the command.py module. 2012-02-06 00:59:41 +01:00
Griatch
7b2a4e4467 Cleaned up typeclasses, removing a lot of extranenous and ineffective code from the setattr/getattr methods that are called most often. 2012-02-05 21:04:10 +01:00
Griatch
f306c5a6a2 Added a separate program for launching client connections. Meant mainly for server devs at this point. It is primarily useful for stress-testing so as to get profiling data using e.g. cProfiler - running many clients with a short timestep -will- slow the server to a crawl! If using sqlite3 with 50+ clients you will also see the memory consumption gradually - our sqlite3 setup runs in RAM by default and these things create a lot of new stuff every timestep - make sure to shut it down before you run out of memory! Not sure if this says much about the server's actual behaviour with many players at this point, the usage pattern is hardly "realistic". Also, it's usually better to shut down the server before the dummyrunner. 2012-02-05 17:58:00 +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
ae251d3892 Fixed an error in the help for @ban. 2012-01-27 23:56:17 +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
68f0a236cb Fixed an issue with using WHO when users where OOC. Also made the @ic command able to look for objects globally. 2011-11-14 19:13:30 +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
4c0d4a0294 Deactivating the creation of object attributes from admin for now, until one can figure out how to handle this. 2011-11-13 18:49:04 +01:00
Griatch
a60cd9bf1f Fixed User/Player creation in Admin, much more intuitive now. Remains issues with creating attributes since these need to be pickled to/from the database in order to be properly handled. 2011-11-13 18:46:14 +01:00
Griatch
ce0e3c4857 merge. 2011-11-11 01:20:51 +01:00
Griatch
f950cd8b94 Red button commands lacked proper locks, causing non-privileged chars to not have access. Fixed. 2011-11-09 09:53:57 +01:00
Griatch
a3e4e44a61 Fixed a bug in the creation mechanism. 2011-11-09 09:11:56 +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
86f76d0d08 Contrib: Added chargen module, showing a simple example of creating a character from inside the game. 2011-11-06 22:28:24 +01:00
Griatch
703accdd60 Added an error_check_python_modules function to evennia.py. This basically imports a host of critical modules and quits with tracebacks if there are problems. This catches pure python-syntax errors (i.e. cases where the source-file itself is malformed), something which is hard to properly handle in the running server (where there's also an issue as to how to best report it). Best they fail out already at an early stage. 2011-11-06 21:32:00 +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
c297e01fc3 Merge. 2011-11-05 23:09:59 +01:00
Griatch
54c31468ad Removing the last remnants of the async saving debacle. Async saving causes a host of extra problems within Django - order gets messed up and deleting simply doesn't work - but the scariest issue is that it seems to do nasty things with database references - deleting changes dbrefs for objects dynamically ... O_o; Plus, the overhead of creating threads for every save makes the whole thing very slow. It's NOT worth the effort. 2011-11-05 23:08:25 +01:00
Griatch
0ed692c19c Fixed a bug that prevented objects inside the room designated as "default home" from escaping when deleting that room. Objects will now be dumped to a null location (and warnings be given) instead of being deleted with the room.
Also noticed that large parts of the server is not covered by i18n.
2011-11-05 21:19:57 +01:00
Griatch
ce00d7c920 LOCALE: Added Swedish translation. 2011-11-03 22:55:12 +01:00
Griatch
b6303808ec Added a simple quell command to contrib/ for showing how to use a command to launch other commands (in this case with a lower permission than you normally do (including bypassing superuser status). 2011-11-03 18:23:45 +01:00
Griatch
791b380693 Tried with defer.execute for the async-save intead. Still issues with multiple objects. 2011-11-03 14:50:24 +01:00
Griatch
78e12b3aba Merge from trunk. 2011-11-03 14:09:34 +01:00
Griatch
17951a05f5 Dev: Testing with asyncronous db saving. 2011-11-03 14:08:14 +01:00
Griatch
e7b46c89b4 Added the ability for the Command.func() method to return a value. This allows to potentially do e.g. value = caller.execute_cmd('cmdname'). Not used at all by default commands nor the engine itself, but potentially useful for admins wanting to implement some sort of 'nested' command structure, maybe using a custom input language. 2011-10-27 10:18:18 +02:00
Griatch
7195e1e773 Minor fixes to create command. 2011-10-16 00:40:11 +02: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
Griatch
7f31534618 Made creation of #1 check for custom room/home assignment by hooks. 2011-10-09 18:02:43 +02:00
Griatch
ef84d3790b Added another error message to initial_setup.py. 2011-10-09 16:44:10 +02:00
Griatch
aee147102b Gave better error messages when a player typeclass has bugs and thus won't load. Also made a better solution for hiding new characters from the start room when first being created (also makes sure that character.location never starts as being None, recovering back to home in that case). 2011-10-09 16:32:55 +02:00
Griatch
8c6b27b5b3 Fixed a migration that failed under mysql. 2011-10-05 21:49:43 +02:00
Griatch
1291509d03 Added inlines and fixed admin interface to not allow editing User once a Player is created. 2011-10-04 21:14:41 +02:00
Griatch
2c4af9076d Made some commands sensible to the new form of obj.typeclass (it's not a typeclass instance, not a class). Changed the way TypedObject.swap_typeclass works, so as to properly manage failures. 2011-10-03 23:53:23 +02:00
Griatch
c8b4f7518d Fix of admin setup for DEBUG=False, based on https://code.djangoproject.com/ticket/10405#comment:11 (thanks to catch22 for finding this) 2011-10-03 21:25:06 +02:00
Griatch
bf72239dc9 Admin interface: some more listings. 2011-10-02 23:02:43 +02:00