Griatch
7bde8afe66
Added maxwidth argument to evtable, for restricting upper width of table, but allowing it to resize if narrower.
2014-03-08 11:41:24 +01:00
Griatch
0d071ec75f
Updating the irc2chan command
2014-03-08 11:41:24 +01:00
Griatch
6c45d76b56
Made irc bot connect, but scripthandler lookup is causing traceback when searching for a player)
2014-03-08 11:41:24 +01:00
Griatch
8b52591c2f
Run Migrations. Added player field to script model in order to allow Players to be scripted in the same way Objects can.
2014-03-08 11:41:23 +01:00
Griatch
75ef743297
Made a first version of command IRC2Chan, server starts but no more testing yet.
2014-03-08 11:41:23 +01: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
bc8ce9f394
Fixed command auto-help strings to make it look better in the cmdhelp wiki page
2014-02-12 15:05:17 +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
3430aa9eae
Fixed bug in delcom.
2013-10-21 22:51:16 +02:00
Griatch
4c650a44a6
Fixed up some channel-related errors and made unittests run again.
2013-10-18 21:01:53 +02:00
Griatch
a1646ec596
Fixed an issue with a CmdClock not being a part of the __all__ module handle (this causes ev.py to fail to import it)
2013-10-18 15:09:03 +02:00
Kelketek
48bcb9d0ba
Useful default typeclass for channels added. Handles poses and provides interfaces for external messages and internal alike.
2013-09-29 13:11:10 -05:00
Kelketek
851e6d00cc
Turned comms into typeclassed objects.
2013-09-28 22:23:30 -05:00
Griatch
39b69dcdc2
Fixed a migration issue with PostGreSQL.
2013-09-26 09:01:27 +02:00
Griatch
2ba16e155e
Fixed a bug in amp that made reloading not work.
2013-09-21 22:00:46 +02:00
Griatch
e36c7d5cc1
Cleaned up worst instability. Test suite does validate yet.
2013-09-21 17:33:48 +02:00
Griatch
6bc16e46cc
Made aliases work with the new handler. The location.contents updated is not working yet - this causes locational information to not be available until objects and manually initialized (e.g. by calling examine #dbref)
2013-07-12 20:21:52 +02:00
Griatch
0061f884ae
Implemented NickHandler, AliasHandler and TagHandler in the typeclass to replace the old handlers. Some errors during login.
2013-07-12 14:44:49 +02:00
Griatch
31410f5710
Merge from Kelketek clone.
2013-06-03 16:28:38 +02:00
Daniel Benoy
c10a02f713
Fixed security hole checking channels with @cwho
2013-06-02 06:53:57 -04:00
Kelketek
7623b1a863
Fixed #379 . Addcom no longer crashes when used IC.
2013-06-01 07:22:46 -05:00
Griatch
bd9421d4b0
Implemented unittests for all default commands in a new and much faster way.
2013-05-12 19:53:19 +02:00
Griatch
8969017aaa
Added prettytable ( http://code.google.com/p/prettytable/ ) as a replacement for utils.format_table and updated almost all places where the old formatter was used. The code becomes much simpler and shorter with prettytable, there are some situations, such as the contrib/menusystem where the old format_table works well for dynamically creating any number of columns and rows on the fly.
2013-04-12 22:06:41 +02:00
Griatch
0fddf433dc
Updated all Player-level commands to properly relay messages using self.msg rather than caller.msg (the former will properly relay to the right sessid without needing any extra arguments).
2013-04-12 14:27:36 +02:00
Griatch
1aff5f1fd1
Renamed cmdset_ooc -> cmdset_player and settings.CMDSET_OOC -> settings.CMDSET_PLAYER. Also split most of the player-specific commands to a new module player.
2013-04-11 01:02:05 +02:00
Griatch
dcc7f29a91
OBS: run migrations! This changes the Msg model to work with ManyToManyFields rather than with custom string representations for storing multiple receivers or channels. It also expands the Msg object with a "title" field and various filter options. This should make it easier to implement mail-like operations using the comms system.
2012-08-30 00:05:00 +02:00
Griatch
8ad4f4a9fc
Changed player.search to only search for players explicitly.
...
Added a MuxCommandOOC class to handle the OOC commands in a more uniform way.
Fixed the @ic/@ooc and page commands. Resolves issue 233. Resolves issue 234.
2012-05-17 19:42:37 +02:00
Griatch
1a6ef5d983
Added more caching to channelhandler as well as players in order to cut back on unnecessary database calls.
2012-04-26 13:38:34 +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
0d01462077
Adding a new API system to Evennia. This centralizes all access of the evennia driver through a single module "ev". Importing ev one should be able to access (and also importantly, easily explore) Evennia's API much easier. This API goes a long way to "flatten" the structure so that one doesn't need to remember how to find some method in a deeply nested subdirectory.
...
As part of this work, I have also written full listings of all available properties on Typeclassed objects (including those inherited in various ways). Should hopefully make things easier to find.
One can of course still import things directly from src/ as before. But this is a first step towards removing the "base" objects in game/gamesrc and instead making those accessible through the core API.
2012-03-24 23:02:45 +01:00
Griatch
cdab5a240b
Added RSS feed support to Evennia. This uses the @rss2chan command to tie a feed to an in-game channel. Updates to the feed will henceforth be echoed to the channel. The reader requires the python-feedreader package to be installed.
2012-01-28 20:12:59 +01: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
d466d8325f
Added missing call argument. Resolves issue 177.
2011-08-06 18:18:42 +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
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
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
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
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
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
72d40285b8
After lots of discussions, default commands where moved from game/gamesrc/commands/default to src/commands/default in order to make it clearer which parts are updated as part of evennia and which can be tweaked at heart's content. New templates where left in gamesrc/commands that should hopefully make it clearer how to extend the command system. Also game/web was moved to src/web - we'll likely extend this from game/gamesrc/web in the future. If you already did extensions you should just have to edit your import paths and make use of the new cmdset template supplied.
...
The unit testing was for commands was split out from src/objects/tests.py into the new src/commands/default/test.py in order to keep the testing modules thematically grouped with the things they are testing.
2010-11-23 01:24:56 +00:00