Griatch
5e33690f40
Optimization: Added caching of object contents. This makes obj.contents not have to hit
...
the database at all. So far there are no regressions from this, but time will tell if
there are any problems.
2012-08-19 18:48:29 +02:00
Griatch
cc88d38ab6
Some optimizations towards speeding up getting the contents of a location.
2012-08-19 11:45:13 +02:00
Griatch
1dee271fc7
Removed a bug in property cache that disabled the cache if the property was null (e.g for player lookups)
2012-08-19 11:15:22 +02:00
Griatch
8a44daef7e
Further changes to allow dbrefs to be 0.
2012-08-18 23:35:11 +02:00
Griatch
889708cf07
Make object search handle a dbref=0.
2012-08-18 23:17:14 +02:00
Griatch
327cfc5098
Changed default permission of objects so as to not have 'control' permission of themselves. As user Kelketek pointed out, this could be a possible exploit. At any rate there is no need for objects to have control of themselves.
2012-08-18 20:20:42 +02:00
Griatch
a2e7246d15
Changed so deleting a PlayerDB object will automatically also destroy its connected User object.
2012-08-14 00:40:48 +02:00
Griatch
891dcbbf9c
Changed mux-login to email-login since the old system didn't actually have anything to do with MUX as I erroneously assumed.
2012-08-13 20:55:46 +02:00
Griatch
bc34a76173
Changed default login from email+password to the more familiar username+password.
...
The old system has been moved to contrib/mux-login.py.
This change was done due to the need for an email seems counterintuitive to
many new developers, giving the impression that it is actually required by
django (it is not, rather it was supposedly similar to MUX).
2012-08-13 20:25:46 +02:00
Griatch
da0598bcc3
Contrib: Barter system. This is a full-fledged barter system for handling goods exchange between two parties in a controlled way. Both sides may change their offers and argue both free-form and as part of decisions. Once both agree, goods automatically changes hands.
2012-08-12 10:48:07 +02:00
Griatch
0d1f9d5bdc
Fixed a bug in object's __eq__ that returned erroneous fails.
2012-08-12 09:55:19 +02:00
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