Griatch
e7d7284d5c
Added pickle'able attributes. The attribute.get_attr(), object.set_attribute and object.get_attribute_value() have been updated to accept and return values of any type. If the value is a string, it will be stored normally, other types will be pickled. Possibly we could choose to save also single numbers as strings, but not sure it's any faster to convert from string than it is from cPickle ...
...
To use these, you need to either start over with a fresh database or change the changed fields manually.
2009-05-02 19:02:36 +00:00
Griatch
1314629a06
Minor bugfix of addcom command, some other cleanup.
2009-05-02 15:55:47 +00:00
Griatch
5bc1db70ed
Added help/del to the state-help system, made some appearance tweaks on the examples.
2009-05-02 08:55:12 +00:00
Griatch
fd050f75ca
Some adjustments of the formatting for auto_help. Added some colours to the state_example menu.
2009-05-02 08:25:37 +00:00
Griatch
cafbdf720e
Minor typo-fixes as well as making some variable names more intuitive.
2009-05-01 15:56:19 +00:00
Griatch
0efe2c3095
Created a state system. See
...
http://groups.google.com/group/evennia/browse_thread/thread/66a7ff6cce5303b7
for more detailed description.
Created a new folder gamesrc/commands/examples and moved all examples in there.
/Griatch
2009-05-01 15:34:43 +00:00
Griatch
cae925c29b
Made so the local_and_global_search strips the query of surrounding whitespace. Many calling functions don't do this properly, making it a source of bugs. E.g. "@desc obj = text" did not locate obj but "@desc obj= text" did.
2009-05-01 07:16:44 +00:00
Griatch
ba623af351
Took out some useless code and imports left in after testing this.
2009-05-01 06:42:37 +00:00
Greg Taylor
119f5f6d49
Show a little more info in the Django admin for comm channels.
2009-05-01 05:07:13 +00:00
Greg Taylor
a5efca450d
Looks like there's an import in here that doesn't exist. Commenting it out. Starkiel, was this supposed to do anything?
2009-05-01 05:03:52 +00:00
Griatch
3eb4cddf42
- implemented @destroy as per the MUX help specifications. As part of this, fixed the object recycling routines to actually properly replace GARBAGE-flagged objects (it crashed before).
...
- Set up a global cleaner event to clean all @destroyed objects every 30 minutes (makes their dbrefs available).
- Added the @recover command for recovering @destroyed objects up until the point that the cleaner runs and actually destroys them. This can recover @destroyed objects, rooms and exits to the same state as before @destroy. It could easily be made to recover player objects too, but I'm thinking this would be a security issue.
- Added to @dig in order to allow for creating rooms with a particular parent. Also auto-creates exits in each room if desired. The only things that is not implemented is the aliases of the exits, I don't really know how to do that.
- Changed the @create command format to match the @dig (it uses : to mark the parent instead of = now, since MUX' @dig reserve = to the exit list.)
- Added extra security in the example event to guard against the bug that causes the whole scheduler to freak out if the event_function() gives a traceback.
- Changed many instances of type to point to the defines_global.OTYPE instead of giving the integer explicitly.
/Starkiel
2009-04-30 15:01:59 +00:00
Griatch
8799a0fd55
Added example of how to handle event errors gracefully without them taking down the server with with unhandled exceptions (this should be handled somewhere above exception too, but it's hard to tell when to do it since twisted is raising them). /Starkiel
2009-04-30 08:23:54 +00:00
Greg Taylor
b53c228257
Add a note about Python 2.6.
2009-04-30 06:20:00 +00:00
Greg Taylor
d03b214f24
Add FollowSymLinks to the media directory by default.
2009-04-30 06:17:51 +00:00
Greg Taylor
6c5488aab3
Show the IMC server name for IMC2ChannelMapping objects in the Django admin interface.
2009-04-30 04:21:58 +00:00
Greg Taylor
45f17f6732
In the strange case where someone creates two mappings with the same IMC2 name, handle it gracefully by emitting to all matching mappings instead of just assuming there'll only be one match.
2009-04-30 04:20:03 +00:00
Greg Taylor
9b8f1cf3ea
Handle IMC ice-destroy packets.
2009-04-30 04:05:19 +00:00
Greg Taylor
181133d917
Add tracking of IMC2 channels and the new 'imcchanlist' command.
2009-04-30 03:56:52 +00:00
Greg Taylor
50e70327fe
Be a good little IMC2 denizen and send is-alive packets when a keepalive-request comes our way.
2009-04-30 03:26:53 +00:00
Greg Taylor
76f14b4779
Clean up send_cmessage() a bit. Changed noheader keyword arg to show_header and defaulted it to True. This should read a little better. Also updated some of the various function calls. More importantly, check to see if the channel argument is a string or unicode object and find the correct channel object as needed, which was the previous behavior. However, if it's not a string or unicode object, assume it's a CommChannel object and avoid querying for it again. This may be a performance win in some cases down the road.
2009-04-30 03:13:46 +00:00
Greg Taylor
70602efaa7
Remove an unneeded import that was causing a deprecation warning.
2009-04-30 02:52:16 +00:00
Greg Taylor
426932b5a6
Add the MudBytes connection details to config_default.py for easy access.
2009-04-30 02:49:47 +00:00
Greg Taylor
331f149dfb
Specify the id for the Limbo room on creation to avoid PKey duplication on postgres. Not sure why it was happening to begin with, but whatever.
2009-04-30 02:47:27 +00:00
Greg Taylor
7b0bd55200
* Change the CommChannelMessage's 'message' field from a CharField to a TextField. This will allow messages that are greater than 255 characters to be stored. You'll want to drop your channels_commchannelmessage table and run syncdb again.
...
* Update the list of database drivers in the comments in config_defaults.py.
2009-04-30 02:40:11 +00:00
Greg Taylor
9954700bdd
Fixed formatting on @clist.
2009-04-29 01:03:26 +00:00
Greg Taylor
547a5dd139
* Fixed channel history to show in the correct order now.
...
* Two channels are now created by initial_setup.py for informative emits: MUDConnections and MUDInfo.
* MUDConnections now shows a connection/login/logout log.
* MUDInfo shows general informative messages about the server state. For now IMC emits here when things happen (connection, disconnection, etc.).
Eventually we'll want to restrict these to staff only, but it's not high priority atm.
2009-04-29 00:50:44 +00:00
Greg Taylor
566a02b848
We now have the ability via @service to list, start, and stop Twisted services. In this case, this just lets us start/stop IMC2 right now. As people write more services to plug in in the future, this may expand.
...
@service/list will show you the service names. If you see that your IMC has died due to an error, @service/start IMC2 will get it up and running again. I've also added an 'imcstatus' command to show more detailed information about your IMC2 connection.
2009-04-28 23:49:49 +00:00
Griatch
b63bcc6132
Removed an unneeded debug logger entry from the example event to avoid spamming the log.
2009-04-26 11:04:54 +00:00
Griatch
54e2564a9f
Just adding a few lines of README for those not aware of what to do about the docs/doxygen folder.
2009-04-26 07:55:25 +00:00
Griatch
a9dbac8aae
- Made many small bugfixes to the @parent and @create functions as well as their underlying methods.
...
- Made it so user #1 is also affected by the on_player_creation() function.
- Added an event folder for custom events, including a working example
- Expanded the example commands and parents to include the changes to how they should be initialized.
- Added an optional ansi scheme (not active by default)
2009-04-25 20:51:12 +00:00
Griatch
a32840002c
This change to set_script_parent() is also needed to get the previous @parent fixes to work, sorry for the omission.
2009-04-25 18:05:46 +00:00
Griatch
9d199032b0
Modifications to the @create and @parent commands, to safeguard against erroneous scriptlink names as well as allowing to define parent upon @creation. The @parent command calls at_object_creation(), seems that behaviour is the intuitive one.
2009-04-25 17:41:58 +00:00
Greg Taylor
9abde7b60f
End all 'say' messages with a 'normal' ansi character to prevent bleedage. Also, added the beginnings of an IMC2 ansi parser.
2009-04-25 07:13:19 +00:00
Greg Taylor
0ad8c88c22
Comment elaboration.
2009-04-25 06:32:47 +00:00
Greg Taylor
2cc3d98810
@scriptcache is now just for displaying the contents of the script cache. After changing a script parent, you may now @reload/script to apply any changes. @reload with no arguments will now show you all of the possible switches. Also added an 'all' switch that will reload everything in one fell swoop.
2009-04-25 06:30:18 +00:00
Greg Taylor
ffa03309fc
Local object command tables are now in. See game/gamesrc/parents/examples/red_button.py for example. Note that local command matches will override global matches. Command handler short circuits on the first command match. This will typically be the object with the lowest ID.
2009-04-25 06:11:42 +00:00
Greg Taylor
723cdab4aa
Make @clist actually show channel descriptions instead of 'No description' all the time.
2009-04-25 04:34:29 +00:00
Greg Taylor
a8434e3c97
Alphabetize imclist output.
2009-04-25 04:32:47 +00:00
Greg Taylor
d8f6074f10
Enable to KeelAliveREquest on IMC2 connection.
2009-04-21 13:36:11 +00:00
Greg Taylor
2d6ef25081
Handle autosetup and tell packets correctly.
2009-04-20 22:34:16 +00:00
Greg Taylor
c18937d3ba
Fix page to use the new return value from get_attribute_value.
2009-04-20 22:29:54 +00:00
Greg Taylor
5ec19c2645
Actually, I did mess up and not commit the channels app. Yick. Fixed.
2009-04-20 02:45:40 +00:00
Greg Taylor
829b91dcce
To prevent funkage, added some checks to make sure IMC2 is enabled before messing with IMC stuff on @cemit.
2009-04-17 14:26:01 +00:00
Greg Taylor
4121b54e4c
Remove some double quotes from version info.
2009-04-17 05:53:27 +00:00
Greg Taylor
67d3d5a3c5
Don't show dbrefs on @clist.
2009-04-17 05:35:42 +00:00
Greg Taylor
5372bb5a05
The IMC2 client now sends and receives. For most, this should be all that is needed. There are a bunch more support commands that will need to be implemented, as well as a few other things, but this is very usable now.
2009-04-17 05:20:55 +00:00
Greg Taylor
9f86a4c586
I've been meaning to do this for a while as well. Break CommChannel and CommChannelMessage out into a separate app. I had them lumped in with objects/models.py due to some funkage with the admin site registering that is now resolved.
...
NOTE: You will need to syncdb and re-create any channels you may have had. Sorry for the inconvenience, we're still early enough in development where breakages like this may happen once in a blue moon.
2009-04-17 04:15:54 +00:00
Greg Taylor
42f11b208b
Remote IMC2 channels can now be listened to via IMC2 bindings. For this to work, create an IMC2ChannelMapping object with the channel you'd like to serve as the gateway to the remote IMC2 channel. Enter the IMC2 channel's name as the imc2_channel_name field and make sure the object is enabled. Any incoming ice-msg-b packets directed at your chosen channel will now be emitted to the appropriate channel as if it were local, with one difference: the user name is sender@origin. Sending messages is hopefully soon to follow.
2009-04-17 03:34:46 +00:00
Greg Taylor
573d1b6e88
Finally got around to creating admin.py files for all of the apps. This will prevent some really weird import errors and fixes an issue with the Attribute model's admin display. May also cut resource usage slightly for MUD server instances. Needs more testing!
2009-04-17 03:08:18 +00:00
Greg Taylor
1da2179ee6
Had a printed debugging statement stuck in here. Whoops.
2009-04-17 02:57:43 +00:00