Griatch
b9c1921a0b
Added a new 'contrib' folder for optional code snippets not suitable for the server core. Added contrib/menusystem for implementing a multi-choice menu system. Added contrib/lineeditor - a powerful line editor with commands mimicking VI. Also added an example NPC class using the menu system to allow for a conversation. As part of creating these contributions, lots of bugs were found and fixed. A new and more powerful cmdparser was intruduced as a result - this one is much easier to understand than the old one, while being more efficient and versatile. All testsuites were updated. Also: Resolves issue 165.
2011-05-12 21:51:11 +00:00
Griatch
2c47d6a66b
Made all unittests validate again.
2011-05-01 20:44:01 +00:00
Griatch
2973b096e7
Added cmdset priority info to examine display.
2011-05-01 18:11:38 +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
4bcd5239b5
Mixed batch of minor bug fixes and cleanups.
2011-04-30 21:09:19 +00:00
Griatch
9520e261d8
Cleaned up @set to list attributes on an object and also to show attribute values without parsing their markup.
2011-04-25 20:31:50 +00:00
Griatch
9c5f662196
Added the "raw" switch to examine, to allow for viewing attributes and properties without parsing markup first.
2011-04-25 20:13:15 +00:00
Griatch
973f606f3f
Added the functionality to let the @set command accept simple lists and dicts (relevant for @batch building)
2011-04-24 16:30:43 +00:00
Griatch
27809694d7
Migrate. Added the "view" access restriction (to make objects invisible). Also changed the input of ObjectDB.objects.object_search() to not require a caller as an argument (this makes it consistent with other search methods). All default systems should have updated to the new call, but if you have custom calls, you need to change them to fit the new syntax (this is only important if explicitly use ObjectDB.objects.object_search; if you just use caller.search you should be fine)
2011-04-24 11:26:51 +00:00
Griatch
28fe2ad3f4
Run Migrate. Implemented a full separation between Player and Character - Players (OOC entities) can now also hold cmdsets and execute commands. This means that "disconnecting" from a Character becomes possible, putting the Player in an "OOC" state outside the game. This overall makes the game much more stable since there used to be issues if the character was destroyed. Having an OOC set also avoids the previous problem of @puppeting into an object that didn't have any cmdset of its own - you couldn't get back out! A new default OOC-Cmdset handles commands available to a player while OOC. Commands in this set are applied with a low priority, allowing "IC" mode to give precedence if desired.
...
This change meant several changes to the lock and permission functionality, since it becomes important if permissions are assigned on the Player or on their Character (lock functions pperm() and pid() etc check on Player rather than Character). This has the boon of allowing Admins to switch and play/test the game as a "Low access" character as they like.
Plenty of bug fixes and adjustments. Migrations should make sure to move over all data properly.
2011-04-23 11:54:08 +00:00
Greg Taylor
ce2a8e9ffe
Fixing @serverload to work on Mac/BSD. Use -o rss instead of rsz. This works on Linux/BSD/Mac with no extra per-OS logic needed.
2011-04-23 03:16:29 +00:00
Griatch
7dc4901ccc
Fixed a migration bug when starting with a clean database.
2011-04-21 20:44:45 +00:00
Griatch
6f0d21802b
Debugged and added @cpattr and @mvattr. Added unittest cases for all default commands for which they are suitable. Many small bug fixes as part of that.
2011-04-21 16:45:18 +00:00
Griatch
7b43c4a608
Added @cset command for changing a channel's access restriction settings. Added @cboot and a few more missing channel commands. Cleaned out the utils commands and fixed formatting on a few default commands.
2011-04-21 10:29:24 +00:00
Griatch
7f7016ad7d
Run Migrate. Implemented @search functionality with limits as per MUX (as part of the @find command). Added some more channel-related commands and changed locks for channels to have a "control" lock type rather than "admin". The migration converts this in existing channels..
2011-04-20 22:40:27 +00:00
Griatch
23462c626c
Further updates to the IMC2 system, making it a bit easier to use.
2011-04-20 00:27:19 +00:00
Griatch
c70d59045a
Some bug fixes in the IMC system.
2011-04-19 21:40:53 +00:00
Griatch
b856cb8faf
Implemented imcwhois command as part of the imcinfo command cluster.
2011-04-19 21:05:18 +00:00
Griatch
36bc29865b
Some minor fixes and cleanups.
2011-04-19 15:31:13 +00:00
Griatch
0ea95631bf
IMC (inter-mud-communication) is working again. Evennia's implementation connects an existing Evennia channel to an IMC2 network/channel seamlessly. One can listen to more than one IMC2 channel, but only send to one IMC channel, as defined when setting up the connection. One can list imc channels and muds connected to the network. We have only limited support for imctell at this point: It works for IMC users to send imc-tells to users on Evennia, but seemingly not the other way around. Evennias imctell function at least doesn't seem to properly send tells to my Talon IMC user.
2011-04-19 15:13:34 +00:00
Griatch
935bef1f43
Cleaned up the test suite to pass all tests again. Cleaned up the build command's parse() method. Fixed some minor bugs.
2011-04-19 09:52:49 +00:00
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