Commit graph

2866 commits

Author SHA1 Message Date
Griatch
2a2b3b5ce6 Contrib: Dice-roller module. This has an easy interface and supports normal dice nomenclature as well as modifiers and conditionals. An in-game command "dice" (or "roll") is also supplied. 2012-08-09 20:13:01 +02:00
Griatch
724027d134 Optimizations: Removed unnecessary lookups when comparing objects with the = operator (used a lot in moving and messaging) 2012-08-02 17:03:26 +02:00
Griatch
563361a676 Added small warning for using the django test server (which of course knows nothing
about running the web client).
2012-08-02 15:21:23 +02:00
Griatch
9921d9b28c Some minor fixes and cleanups in runner.py. 2012-07-07 01:52:53 +02:00
Griatch
c301ec4922 Putting the game/logs directory under version control since it seems some users don't auto-create this at server-start.
If you see problems with an already existing game/logs directory upon pulling this commit, remove the old one first (saving away old logs if necessary).
2012-07-06 10:09:53 +02:00
Griatch
35acad6162 Fixed a bug in @deluser when booting an already logged-in player. 2012-06-29 07:51:59 +02:00
Griatch
ec4c29b592 Fixed a bug in @delplayer. 2012-06-29 07:34:34 +02:00
Griatch
d50d28f960 Another fix to the extended room, a bug that caused some parsings not to happen. 2012-06-28 23:08:40 +02:00
Griatch
dff64215a2 Fixed a bug in the @link command. 2012-06-28 22:50:53 +02:00
Griatch
f54e6b22c1 Further fix to extended room. 2012-06-28 21:51:41 +02:00
Griatch
55634de123 A fix to extended_room, for when used as default mixed with other room types. 2012-06-28 21:39:13 +02:00
Griatch
ae65438c9b docs: Adding missing rest pages to mercurial. 2012-06-26 18:26:59 +02:00
Griatch
f95fac1f51 Adding contents file for an alphabetical index in the reST docs. 2012-06-26 18:19:10 +02:00
Griatch
f2d9b81d09 Changed format of reST conversion slightly. 2012-06-26 18:12:38 +02:00
Griatch
ae0f7a04c5 Updated and cleaned the wiki2rest converter. The ReST documentation should look a lot better now, with less weirdness. Using a python google-code snippet to convert now, so no more need for third-party ruby downloads! This should transfer to readthedocs shortly. 2012-06-26 17:45:12 +02:00
Griatch
43f16094c1 Contrib: Added a "time" command for viewing the time info on ExtendedRooms. Also added more listing functionality to the Extended @desc command. 2012-06-26 09:13:23 +02:00
Griatch
5a1642ab32 Small fix to seasonal rotation in extended room contrib. 2012-06-26 01:40:52 +02:00
Griatch
0e9b27cc01 Contrib: Extended Room typeclass, with time-dependent desc slots (season and time-of-day), as well as a "details" system for adding visual interest or clues to the room wihout having to create new database objects. The extended room is supported by expanded "look" and "@desc" commands. 2012-06-26 01:33:30 +02:00
Griatch
ca0920e635 Added "raw_string" (unformatted, no stripping) as a property on commands, inspired by work by user Kelketek. 2012-06-23 11:03:16 +02:00
Griatch
f0f240b7ce Fixed a bug in sessionhandler that erroneously caused Portal sessions to not be deleted properly at user @quit. This caused the session to be copied back to the Server side after a reload (caused "ghost" connections in e.g. the "who" command). Resolves Issue 244. 2012-06-20 23:48:19 +02:00
Griatch
7dcfdc4d4b Fixed a minor typo in docstring for ObjectDB.__db_get: To view all Attributes one uses obj.db.all, not obj.db.all(). 2012-06-20 23:22:26 +02:00
Griatch
44bf35cd81 Make sure to forward no_channels, no_objs and no_exits flags across cmdset merges. Also changes how system commands are saved across merges. Resolves Issue 243. 2012-06-20 21:16:34 +02:00
Griatch
c2961ce5e2 Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. 2012-06-16 15:33:05 +02: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
f15e26c54a Fix of migration to remove a bogus FATAL error during migration. This also fixes a one error in the chain of errors reported by postgresql databases (those still fail on a latter point, alas). 2012-06-14 21:10:40 +02:00
Griatch
2d46d0306b Some more i18n strings added; also updated swedish translation. 2012-06-14 08:56:57 +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
80da420ee7 Merge, with input and tweaks from discussion with lagos and Kelketek in irc. 2012-06-13 01:36:59 +02:00
Griatch
dfa0ced4e5 Some further cleanup of readmes. 2012-06-13 01:07:09 +02:00
Kelketek
9290cf2c0c Fixed an issue where improper substitution would cause extra newline
characters for MCCP clients. This made them effectively press return twice
on each command.
2012-06-12 17:51:10 -05:00
Griatch
98a5f11159 Merge. 2012-06-12 21:04:50 +02:00
Griatch
5f8cc5e3a6 Small fix to batchprocess output. 2012-06-12 21:03:30 +02:00
lagos
1c4c3a4217 chargen.py uses managers instead of db_objects. 2012-06-12 08:09:15 +00:00
lagos
2729369027 Fixes two typos in sample code for evlang. 2012-06-12 07:35:50 +00:00
Griatch
58e20e2cf1 Added contrib "evlang", an experimental highly restricted Python code environment. It's intended to be used by untrusted users to add custom code e.g. to their crafted objects and similar. Please heed the warnings in the README file - this is experimental still and more people need to play with it and try to break it.
The system uses a hybrid blacklisting/whitelisting and AST-traversal approach to both remove dangerous builtins as well as disallow potentially exploitable python structures alltogether. Examples are while structures and attribute allocation. All advanced functionality is accessed through a set of "safe" methods on a holder object. You can extend this with your own safe methods in order to add more functionality befitting your game.

The system comes with a host of examples, a few scriptable objects and complete commands for adding code to objects. At this point it's not guaranteed that all systems are safe against meddling however - notably Attributes have no locks defined on them by default (although this system does properly check Attribute lock types should they exixt).

Please test and try to break - and report problems to the Issue tracker/forum as usual.
2012-06-10 22:16:46 +02:00
Griatch
3d24ee2242 Added a secure_attr() method to the base typeclass. This allows for system to access attributes with full access control (since it requires an accessing_obj as argument). This relies on (by default unused) lock types "readattr" (reading/listing the attr value), "editattr" (editing/deleting the attribute) and finally "createattr" for creating a new attribute. The first two checks are done directly on the Attribute class whereas the createattr check is done on the TypedObject on which the Attribute is to be stored. 2012-06-10 21:46:00 +02:00
Griatch
5f043d28d7 Minor cleanups of code. 2012-06-10 11:16:00 +02:00
Griatch
dc67b6b87c Added a lock funcion self(), passing only if accessing_obj == accessed_obj. This is potentially useful for Objects who want to lock cmdsets and make them only available to themselves without having to know their id value in the lockstring. 2012-05-24 21:44:07 +02:00
Griatch
d3ee5a565b Added a loader to the server that automatically detects changes in default cmdsets and typeclasses (like when you change them in settings.py),
loops over all objects in the database and updates the places were the old default was set. This will make it more intuitive to overload the default locations (which is the natural thing to do after all). After this update, just make sure to @reload your server once before editing your settings.py; this will store the old settings for you, so they change-detection can work subsequently.
2012-05-19 12:36:11 +02:00
Griatch
6fa5e42909 Fixed a typo in the example command template. 2012-05-19 11:01:48 +02:00
Griatch
4ce750d1ee Made some changes to the tests. All tests doesn't clear at the moment, seems to be something weird in the test system itself though, rather than an actual problem in the core. For example the test system reports an error with the @desc command that I cannot reproduce when testing that command for real in the game ... 2012-05-18 18:13:58 +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
96e95ca525 Raised Python requirement to 2.6+. Some spurious work on the mdsp support. 2012-05-05 23:52:13 +02:00
Griatch
14ed95ebfe Removed with statement, it's not well supported (without future import) in python 2.5. 2012-05-04 09:20:30 +00:00
Griatch
c49fbd7d99 Removed 'with' statement; it's available in Python2.5, but one needs to use the future import to do that, so easiest to remove it. Resolves issue 230. 2012-05-04 10:03:41 +02:00
Griatch
7058b9f210 Cleanup of API documentation. 2012-05-02 00:39:56 +02:00
Griatch
fce5c79561 A name change in a command stopped the ev API from loading. 2012-05-01 23:56:59 +02:00
Griatch
4acfe48d9c Removed repetitive imports in the utils.create functions. I experimented with making these methods yield more, but it's hard to integrate this behaviour with actual production code. 2012-05-01 22:51:18 +02:00
Griatch
a8139feb1a Updated ReST documentation. 2012-05-01 17:37:37 +02:00
Griatch
36b15b4ad8 Made some tweaks to some default commands, such as @version, which was renamed @about and displays some more info about the system. 2012-05-01 17:31:16 +02:00