Griatch
1ced5ee8f2
Added more compatibility checks for twisted.words in case IRC is activated. IMC2 implementation is cleaned up and converted to new comm system, but it's not working correctly and not usable.
2011-04-18 22:09:29 +00:00
Griatch
019eb8d00c
Run Migrate. This fixes a possible error that could have snuck into the database from a buggy config value a few commits back, causing the server to re-run the initial startup and thus give database errors.
2011-04-16 22:48:00 +00:00
Griatch
7d30b337d9
Cleanups and bug fixes. Fixed the @unlink command and also made it overally more stable. Resolves issue 161. Added more string conversion routines to handle non-ascii variables being stored in an Attribute. Resolves issue 160.
2011-04-16 22:26:22 +00:00
Griatch
14db4bea4d
Missed a spot importing the new config model. Resolves issue 158.
2011-04-14 21:46:33 +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
c81d238b0c
Fixed a bug in batchcommand that caused crashes. Resolves issue 153.
2011-04-09 14:48:57 +00:00
Griatch
6c53ec2bdb
OBS: Run migrate! Made exit's destination into a database field for performance. Fixed a too greedy @reload that caused ContentTypes to loose information. Resolves issue 157.
...
Migrate with: "python manage.py migrate"
2011-04-08 23:10:04 +00:00
Griatch
0cff54f136
Resolves issue 156.
2011-04-08 20:06:04 +00:00
Griatch
695317e699
Resolves issue 155. Cleaned up the copy functionality and a few minor bugs at the same time. Copying an active character is somewhat confusing though (and deleting a character will currently make the player unable to log back in).
2011-04-07 22:10:51 +00:00
Griatch
4519169e1c
Fixed a type. See previous commit.
2011-04-05 23:30:32 +00:00
Griatch
6eff51de20
OBS: Migration needed(objects, scripts, players). This resolves issue 136 by allowing database objects to be nested in lists and dictionaries as
...
attributes on objects. Behind the scenes, only the DBREF is stored since storing dbobjects cannot be pickled. One used to be able to store single objects this way, but objects hidden in nested iterable structures were not found. Note that ONLY lists and dictionaries are supported to store on attributes - custom iterables will be stored and retrieved as a generic list instead - this is a tradeoff to be able to store database objects.
To migrate, give the following commands from game/:
migrate.py migrate objects
migrate.py migrate scripts
migrate.py migrate players
2011-04-05 23:28:40 +00:00
Griatch
02775398c4
Cleaned up @serveload and @time commands. Resolves issue 149. Resolves issue 146.
2011-03-26 00:26:15 +00:00
Greg Taylor
d2d86871e9
Rig up south to be happy with two of our models that FK to one another circularly.
2011-03-24 21:07:09 +00:00
Griatch
bb7e5dd9f5
Editing the CODING_STYLE, adding a mention on documentation
2011-03-24 09:26:30 +00:00
Griatch
9b9f90d91c
gtaylor convinced me to add migrations to the Evennia repo. This means that game/migrate.py is no more. The migrations will help you to adjust your database when Evennia releases a new database change, no need to drop the database or manually adjust tables. To make use of our schema migrations, you need to have Django-South installed.
...
To convert to django-south operations, easiest is if you are willing to drop your old database (e.g. delete evennia.db if you use default sqlite3). Then do: "game/manage.py syncdb" followed by "game/manage.py migrate". That should do it. If you ever deletes your database, just rerun those two commands.
If you want to convert an existing database, do
game/manage.py convert_to_south comms
game/manage.py convert_to_south config
game/manage.py convert_to_south help
game/manage.py convert_to_south objects
game/manage.py convert_to_south players
game/manage.py convert_to_south scripts
In the future, you will then be able to do ./manage.py migrate when we tell you the schema has changed.
2011-03-21 00:53:58 +00:00
Griatch
75956de7d1
Small bugfixes in the wake of the cmdset changes. Resolves issue 148.
2011-03-20 23:14:36 +00:00
Griatch
9d80284504
Resolves issue 147.
2011-03-20 22:36:41 +00:00
Griatch
d73dd65500
Adjusted the way typeclasses are searched. Should correctly find overloaded methods now.
2011-03-20 20:44:48 +00:00
Griatch
2dd856d1f2
Set the correct help_category for the @script command.
2011-03-20 20:01:53 +00:00
Griatch
126e2ea61f
OBS: You need to resync your database! Moved cmdsets into the database rather than being dependent on scripts. Moved the creation of the cmdset- and cmdset-handlers into ObjectDB.__init__ rather than bootstrapping it from the typeclass. Added some more script functionality for testing, includong the @script command for assigning a script to an object.
2011-03-20 19:45:56 +00:00
Griatch
e965830735
Made the reload mechanism fully asynchronous. Work on improving cache operations.
2011-03-20 13:24:07 +00:00
Griatch
85e61bbf2d
Forgot an import.
2011-03-20 10:26:48 +00:00
Griatch
857b253a6f
Added the holds() lock function to check for an name or id held in inventory.
2011-03-20 10:22:21 +00:00
Griatch
a429047452
Fixed a bug in @set that would not display attributes if they were set to 0 or None.
2011-03-20 01:19:05 +00:00
Griatch
7600892d5d
Fixed a bug in examine. Gave a more informative error message from asynchronous reload.
2011-03-19 23:56:24 +00:00
Griatch
2f78bacd97
Added a check for multiple connected sessions to avoid moving disconnected object more than once. Resolves issue 145.
2011-03-19 22:17:00 +00:00
Griatch
8288534cf6
Fixed a firefox-incompatability bug in the webclient. Resolves issue143.
2011-03-17 23:18:44 +00:00
Griatch
de28b2d575
Fixes @locks to block self-escalation. Fixed a few bugs in @reload that caused it to reload also unsafe modules.
2011-03-17 22:28:30 +00:00
Griatch
bccd84e480
Fixed some bugs in the access system. Changed the "owner" default permission to "control" instead to more general. Added a new hook for setting locks for objects (the suspicion was that this would give lots of grief to newbies otherwise, now we have a lockdown policy in the absence of lock definitions).
2011-03-17 21:43:18 +00:00
Griatch
295a82cc04
@locks command bug fixed; Had forgotten a 'not' in the lock-check, reversing the result.
2011-03-16 07:16:32 +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
Griatch
c2030c2c0c
Resolves issue 139.
2011-03-14 08:41:47 +00:00
Griatch
cd1c415711
Edited the help-category of utility commands to make wiki auto-command-help match.
2011-03-03 16:50:27 +00:00
Griatch
38014eda3c
Resolves issue 138.
2011-02-28 23:43:14 +00:00
Griatch
e094a4d173
Fixed a test suite syntax error in command testing.
2011-02-28 00:34:03 +00:00
Griatch
0612e9ff31
A fix to the session base to step up the command counts and idle times properly. Fixes issue 137.
2011-02-27 23:20:27 +00:00
Griatch
9dcfea5971
Resolves issue 133. Added the location keyword to the ObjectDB.search() method for easier customizable object searches.
2011-02-27 22:55:42 +00:00
Griatch
2bdaf034c8
OBS: You need to resync your database! The Nickname system is now a separate database model with the result that also channel nicks are more robust. Also nickname replacement has been adjusted to fix some exceptional circumstances. Fixed a host of issues in the channel and nick handlers and adjoining commands that caused the channel-syscommands to fail in some situations. Resolves issue131. Resolves issue 132. Resolves issue 134.
2011-02-27 22:27:56 +00:00
Griatch
7ebcefae2e
Adjusted the threaded webserver initialization to properly fit into the daemonization process when starting Evennia in threaded mode. Should behave the same way as interactive mode now. Resolves issue 125.
2011-02-23 21:08:02 +00:00
Griatch
606ce0c3c5
Resolves issue 130.
2011-02-23 19:19:39 +00:00
Griatch
46ca685c76
Made an "idle" command to be sent from the webclient to the server every 3 minutes to avoid conservative reverse proxies resetting connections on us. This should fix issue 129.
2011-02-21 18:19:04 +00:00
Griatch
ef59b97881
Expanded command test-suite functionality and added basic testing methods for commands in "System" category.
2011-02-21 17:47:02 +00:00
Griatch
5464487c93
Server module should be accessed through proxy, i.e. through the sessionhandler, at all times. Resolves issue 127. Script updates made @ps non-compatible, fixed the formatting. Resolves issue 128.
2011-02-21 12:56:44 +00:00
Griatch
f0b4c581f7
Removed the admin media files from the distribution again. Instead the server will now create the necessary symlink (Linux) or copy (Windows) of the default files in django/contrib/admin/media at initial startup. Currently only tested under Linux. If you don't want to re-run the initialization, copy/link the admin directory to ADMIN_MEDIA_PREFIX yourself. This deals with issue 124.
...
Also added a 'remove' functionality to the migrate.py script, for easily getting back the normal syncdb operation (useful when deleting/resetting the database a lot).
2011-02-20 22:07:35 +00:00
Griatch
acc89d0be2
Gave better webclient error message if online jQuery library was not found.
2011-02-15 07:39:19 +00:00
Griatch
803051a594
Removed the jQuery library from being shipped with the source (instead accessing it remotely). Download it separately if wanting to test the webclient features without an internet connection. This was due to it massively shifting the analysis of the Evennia code (we suddenly consist of almost 50% javascript code just due to the jQuery inclusion).
2011-02-15 07:12:33 +00:00