Griatch
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.
2012-04-30 00:51:36 +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
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.
2012-04-28 14:47:11 +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
a8373c685f
Some optimizations in one of the most expensive bits of the server, namely the command handler.
2012-04-25 18:47:03 +02:00
Griatch
3fba0bdbe3
Changed suggestion system to give more suggestions also if the help entry catches the exact match.
2012-04-22 21:54:28 +02:00
Griatch
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.
2012-04-22 16:36:31 +02:00
Griatch
4678234e9a
Multiple fixes to ev and utils:
...
Made utils.variable_from_module more generic (it can now load pretty much any form of module it's given and also supports searching and returning multiple variables).
Removed the variable-load functionality from utils.load_module; this is now purely a loader - use variable_from_module instead.
I found out that one couldn't import from src.commands.default due to the __init__ file being restrictive for the sake of the ev API. Removed that and instead imported the default commands into ev.py with the help of utils.variable_from_module instead. Some more fixes in ev followed on this.
2012-04-22 12:23:42 +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
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.
2012-04-15 23:42:57 +02:00
Griatch
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).
2012-04-15 23:09:56 +02:00
Griatch
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.
2012-04-15 21:46:43 +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
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.
2012-03-31 21:10:34 +02:00
Griatch
c0322c9eae
Cleaning some unnecessary whitespace, overall cleanup of various source codes.
2012-03-30 23:47:22 +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
d3ea942ac8
Fixed tutorial_world to use ev API.
2012-03-25 17:39:45 +02:00
Griatch
b43fb3156a
Added create_* and search_* helper methods directly in the API.
2012-03-25 17:01:27 +02:00
Griatch
4398d42360
Added new templates to gamesrc/*/examples. The old base* modules still in place. Some cleanup of the API.
2012-03-25 16:35:22 +02:00
Griatch
3408f3ca3f
Added alternative function names to create module, for consistency with the search module. This means you can do create.objects() now too.
2012-03-25 14:01:51 +02:00
Griatch
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).
2012-03-25 13:09:17 +02:00
Griatch
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).
2012-03-21 10:24:49 +01:00
Griatch
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.
2012-03-21 01:53:33 +01:00
Griatch
1ca8df9e70
Fixed issues with batch-code processor not working correctly. Also added some better parsing. Resolves issue 221.
2012-03-20 22:29:37 +01:00
Griatch
5beee55149
Added ability of @set command to actually store real Python types, not just strings.
2012-03-13 23:56:19 +01:00
Griatch
24c4791e9e
Fixed a bug with the updating of the caching.
2012-02-26 01:10:20 +01:00
Griatch
1fa5791e19
Added aggressive caching for common typeclassed variables.
2012-02-25 23:37:50 +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
ab2ba19782
Fixed critical typo in instructions for dummyrunner.
2012-02-22 15:15:32 +01:00
Griatch
fd857f5c86
Expanded the dummy runner, making it more realistically mimicking real Players by spreading out its access usage.
2012-02-22 12:44:51 +01:00
Griatch
a923a9a061
Merging fixes from clone jeremywosborne-evennia-patch. Closes merge request issue 211. Thanks!
2012-02-21 08:27:30 +01:00
Jeremy Osborne
e164b63d2b
Some webclient suggestions and practice committing to evennia.
...
text2html.py and webclient.css
* Remove inline formatting and place in CSS file. This frees up
the client to change the basic color scheme without modifying
the server file.
* Added a target="_blank" to links that are created to force a
new tab (or window) to be opened in lieu of leaving the web
client when a link is clicked.
webclient.html
* Added a void action to the form, just in case.
evennia_webclient.js
* Added code to move the caret to the end of the input box when
the history is changed (up or down arrow listeners).
2012-02-20 20:34:28 -08:00
Griatch
6d73b05d91
Fixed a webclient issue that caused urls to loose their following whitespace.
2012-02-20 23:25:22 +01:00
Griatch
ed00e42762
Made check for PlayerObject more rigorous in create.create_msg, in response to issue 209.
2012-02-20 21:56:11 +01:00
Griatch
a6f3e1f47f
create_script(): Added new keywords for customizing a created script at creation time, overloading what is defined in the script's at_script_creation() hook.
2012-02-15 22:12:50 +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
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
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
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
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
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
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
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
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