Commit graph

57 commits

Author SHA1 Message Date
Griatch
f2c75bd0f6 Added periodic idmapper cache size check along with conditional flush mechanism. Ran a lot of tests and stress tests to get statistics on usage. 2014-05-18 18:28:10 +02:00
Griatch
2b1cb1c6ce Run migrations. Migrated channels to use m2m field rather than the ChannelPlayerConnection model. 2014-03-08 11:41:23 +01:00
Griatch
f4c9c18a66 Removed a left-over debug output. 2013-12-02 12:31:20 +01:00
Griatch
1ae17bcbe4 PEP8 cleanup of the entire codebase. Unchanged are many cases of too-long lines, partly because of the rewrite they would require but also because splitting many lines up would make the code harder to read. Also the third-party libraries (idmapper, prettytable etc) were not cleaned. 2013-11-14 19:31:17 +01:00
Griatch
7f0d0dd0f8 Fixed more errors with quelling as well as some other things with updating permissions in general. Resolves Issue 430. 2013-11-11 22:44:22 +01:00
Griatch
06a0bea8d6 Added fix to object.contents cache as well as reworked the extent of cache hooks on location modification. 2013-10-21 21:17:32 +02:00
Kelketek
851e6d00cc Turned comms into typeclassed objects. 2013-09-28 22:23:30 -05:00
Griatch
b99833e8fc Fixed initial_setup to properly create new objects without a pre-set home. 2013-09-24 00:41:33 +02:00
Griatch
8bd431b385 Removed deprecated Attribute methods from evennia distro. Removed MUX help files. 2013-08-25 16:41:18 +02:00
Griatch
06e858b3f6 Moved permissions into a the tag system as a separate handler. Permissions still don't work quite right yet. 2013-08-24 23:57:44 +02:00
Kelketek
5320381060 Removed some references to get_profile(), fixed some spelling errors, fixed post_clear signal. 2013-07-27 18:59:39 -05:00
Griatch
607674c6cf Added a superuser creation call to evennia.py to replace the automatic one that
was done by syncdb before.
2013-07-11 22:47:17 +02:00
Griatch
46d1c48a38 Working implementation of User->PlayerDB conversion. Superuser must be created separately. The player-create method was corrected, along with the most obvious places where the user-setup was used. One can log in and look around but it's not heavily debugged yet. 2013-07-11 18:03:07 +02:00
Griatch
c94472492a Implemented PlayerDB as replacement for User, as per Django1.5. All migrations work, but there are still lots of changes to be done in the code to remove references to the User model. 2013-07-10 19:13:41 +02:00
Griatch
f00053710c Added Character-level quelling possibilities to superuser. This makes the superuser quelling completely in line with normal quelling for other permission levels. It also removes the need for the special _superuser_character bypass used before (the migration no longer creates it an initial_setup won't either). 2013-05-14 14:53:08 +02:00
Griatch
4669b8ed89 Fixed the migrations from a pre-populated database to the many-char-per-player branch. 2013-04-10 21:45:56 +02:00
Griatch
c967cc7914 MULTISESSION_MODE 0-2 works as they should. Remains some fixes to migrations. 2013-04-09 19:19:53 +02:00
Griatch
1e07b8ca34 After the rework of the many-char mode, mode 0 now works stably and auto-logins correctly it seems. 2013-04-09 17:11:34 +02:00
Griatch
20a57d4167 Further fixes to the system, still some issues remaining. 2013-04-06 21:36:52 +02:00
Griatch
9eb1903f02 Lots of cleanup and bug fixes. Still some issues with reconnecting to the right location in multisession_mode 0. 2013-04-03 18:31:53 +02:00
Griatch
de076d4af4 Added the _superuser_character flag to the superuser character upon creation. 2013-03-11 22:03:08 +01:00
Griatch
b82a75d816 Fixed initial_setup and set up the _playable_characters attribute on all players, for handling multi-accounts. Still some issues with how the character's permissions is accessed. 2013-02-03 20:04:40 +01:00
Griatch
d2d9953f94 Cache changes: Moved all caches (except idmapper) to central caching module. This makes it easier to overview cache memory usage (and clean it) as well as plug-in external cache mechanisms. 2012-11-01 11:20:07 +01:00
Griatch
9e2ad59663 Added a fix for running with postgresql-psycopg2. This does not actually resolve the problem as much as circumvent it, so I'm not marking Issue 115 as closed just yet. 2012-06-16 14:51:22 +02:00
Griatch
4c849ec351 Cleaned and updated the i18n strings for various server-core system. Removed i18n for all strings that are only visible on stdout or in logs. Still missing i18n on certain specific things such as model field help and attribute warnings. Updated Swedish translation to match. 2012-06-14 02:43:35 +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
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
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
45c5be8468 More whitespace cleanup. 2012-03-30 23:57:04 +02:00
Griatch
734edbb761 Fixing a lingering bug with removing the conf modules. 2012-03-25 19:57:08 +02: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
3e8b43d222 More fixes and cleanup in wake of ic/ooc changes. 2011-11-06 23:55:24 +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
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
23cd9e31b1 Restructured the way typeclasses are loaded. This makes it possible to run at_init() hooks at initiation also for objects without any custom cases for character/players. at_init() hooks are called only when an object is initiated. This means that a room's at_init() hook is only called when someone looks or enters it or a script operates on it, for example, rest of the time these objects are dormant, most efficiently. 2011-10-01 22:00:22 +02:00
Griatch
f13e8cdf7c Trunk: Merged griatch-branch. This implements a new reload mechanism - splitting Evennia into two processes: Server and Portal with different tasks. Also cleans and fixes several bugs in script systems as well as introduces i18n (courtesy of raydeejay). 2011-09-03 10:22:19 +00:00
Griatch
16affc284b Allow for changing the home location of new characters by changing a setting. The given location must exist and is given as a dbref. If one wants more advanced control over start locations, one needs to customize the unloggedin/create command to match the particular game. Resolves issue 178. 2011-08-06 19:39:06 +00:00
Griatch
b8a13a2389 Migrate. Made Exits work differently, by use of commands directly instead of an exithandler assigning commands on-the-fly. This solution is a lot cleaner and also solves an issue where @reload would kill typeclasses in situations where an exit was painting to an object whose typeclass was reloaded (same issue occured if the exit typeclass itself was reloaded). As part of these fixes I cleaned up the merging of cmdsets to now merge in strict priority order, as one would expect them to do. Many small bug-fixes and cleanups all over. Resolves issue 164. Resolves issue 163. 2011-05-01 18:04:15 +00:00
Griatch
88626842b7 Fixed a bug in serverconfig. Tweaked how the default connection screen is stored, to allow for server updates. 2011-04-12 22:22:04 +00:00
Griatch
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.
2011-04-12 21:43:57 +00:00
Griatch
f1404356ea Forgot to remove some defunct imports. 2011-04-10 14:25:00 +00:00
Griatch
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. 2011-04-10 14:21:41 +00:00
Griatch
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. 2011-04-10 12:39:07 +00:00
Griatch
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)

As part of rebuilding and testing the new lock/permission system I got into testing and debugging several other systems, fixing some
outstanding issues:
- @reload now fully updates the database asynchronously. No need to reboot server when changing cmdsets
- Dozens of new test suites added for about 30 commands so far
- Help for channels made more clever and informative.
2011-03-15 16:08:32 +00:00