Commit graph

27 commits

Author SHA1 Message Date
Griatch
a6ae6e936a Patched the batch-processor's interactive mode so it will not abort if it processes an object/script parent that changes the player's state. Also added a variable BATCH_IMPORT_PATH to config so one can keep all batch scripts in one location and don't have to write the full path to get them. Default is the new directory game/gamesrc/world.
Added the permission genperms.admin_nostate so that builders can avoid entering a state when working on a room with a state-changing parent. Superusers have to set the flag ADMIN_NOSTATE on themselves to achieve the same effect (this is necessary since superusers always have all permissions, so they would otherwise never be able to enter states).
/Griatch
2009-10-20 22:21:01 +00:00
Griatch
c4114938cc Many small but useful bug fixes in various modules.
/Griatch
2009-10-20 20:38:24 +00:00
Griatch
a711e07b80 Added the capability of evennia commands to consist of more than one word. So the examples.red_button parent can now be pressed with the command 'push button' instead of 'pushbutton' as before. The variable COMMAND_MAXLEN in the config defines how many words your commands may maximum contain (don't set it higher than needed for efficiency reasons).
The main drawback of multi-word commands are that they can not have any switches; they are intended for in-game use (in states and on objects). Use normal one-word commands for administration and more complex commands with many options.
/Griatch
2009-10-18 19:29:18 +00:00
Griatch
0c29d359f6 Added @setcmdalias for creating aliases for commands (l -> look etc). Also moved the hard-coded defaults to settings.py instead. 2009-10-16 21:04:07 +00:00
Griatch
8074617285 Largely rewrote and refactored the help system.
The help entry database structure has changed! You have to resync or purge
your database or your will get problems!

New features:
* Help entry access now fully controlled by evennia permissions
* Categories for each help entry
* All entries are created dynamically, with a See also: footer calculated
  after the current state of the database.
* Indexes and topic list calculated on the fly (alphabetically/after category)
* Added auto-help help entries for all default commands.
* Only shows commands _actually implemented_ - MUX help db moved into 'MUX' category
  which is not shown by default.
* More powerful auto-help markup - supports categories and permissions (and inheritance).
* Global on/off switch for auto-help, when entering production
* Auto_help_override switch for selectively activating auto-help when developing
  new commands (like the old system).
* Refactored State help system; no more risk of overwriting global help entries.
* State help now defers to main help db when no match found; makes system more transparent.
* State help entries also support categories/permissions (state categories are not
  used much though).

Other updates:
* Added more commands to the batch processor
* Many bug-fixes.

/Griatch
2009-10-14 18:15:15 +00:00
Griatch
7f7306a6e4 - Implemented permission system management inside the game
- changed @chperm to @setperm to avoid confusion with channel commands
- added @setgroup command for adding user group permissions
- Moved permissions/group setup into settings file to allow admins to tweak without going into evennia engine.
- Add all new players to default permission group (defined in settings)
- Defined a basic group hierarchy, removed permission 'genperms.builder' in favour of a group named builders instead, containing all relevant permissions.
- Filtered out all django's automatic permissions in @setperm/list to make permission system more controlled by admin.
- Probably fixed bug that caused new users to not be signed up to channels (more testing needed)
- Added Exception handler in unloggedin method create, this was killing tracebacks upon user creation.
/Griatch
2009-10-03 14:40:34 +00:00
Griatch
eebfa0d387 Added a command batch processor to Evennia. The @batchprocess is a super-user only command that reads normal Evennia-commands
from a special-format batchfile. It is intended for large-scale offline world creation (especially things like room descriptions),
where a real text editor is often easier to use than online alternatives. The @batchprocess also has an /interactive mode which allows
stepping through the batch script, allowing to only execute selected entries; e.g. for editing/updating/debugging etc.  There is
an example batchfile in the gamesrc/commands/examples directory.
/Griatch
2009-09-04 08:01:43 +00:00
Griatch
5a3d901b5c Added #1 to default channels. Had IRC log to a default channel. Added some more feedback upon module import failures. 2009-08-29 10:36:00 +00:00
Griatch
5f58c4384b IRC_ENABLED was accidentally left to True in default config file. Fixed. 2009-08-28 16:01:21 +00:00
Griatch
4bd567386f Some code cleanup and clarification in comments. 2009-08-28 01:33:15 +00:00
Ari Mudev
f5b40648a6 Correct minor inline documentation typos. 2009-07-06 13:14:10 +00:00
Greg Taylor
1d0b05c229 IMC commenting in config_defaults.py. 2009-06-04 01:13:30 +00:00
Griatch
1314629a06 Minor bugfix of addcom command, some other cleanup. 2009-05-02 15:55:47 +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
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
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
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
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
a7e89c1e54 Adding the beginnings of IMC2 support. We are now able to connect and authenticate with an IMC2 network, theoretically without blocking our server thread. We can't actually do anything useful just yet, but stay tuned. 2009-04-11 05:55:26 +00:00
Greg Taylor
4ca5a4a7bf Revamp how commands are loaded. This will now allow for easy addition of custom commands and over-riding existing Evennia-supplied commands. 2009-01-27 15:21:15 +00:00
Greg Taylor
5bf1461d75 This should get all of the web stuff working peachy again. 2009-01-15 02:46:38 +00:00
Greg Taylor
abe17a2965 Re-designed the startup script to be more cross platform and robust. 2009-01-13 17:06:03 +00:00
Greg Taylor
122bf4e3ff Splitting the scripted parent system out into the gamesrc directory. There will be more explanation of this later. 2008-12-15 05:55:04 +00:00
Greg Taylor
00297d336a Big change here is that you now either need to run manage.py (with or without arguments) in order to create your settings.py file when doing initial setup. Or creating it works too.
Also get ready to start separating things out into the new game directory.
2008-12-15 04:56:47 +00:00
Greg Taylor
5249f27074 Things should be working again, minus the web stuff. 2008-12-15 04:35:00 +00:00
Greg Taylor
01db5700e8 More re-arranging to make things more closely resemble MUX/MUSH directory structure. Reason we're doing this is to begin the emergence of a separation of server code from game-specific stuff (called a driver by some codebases like LPMud).
Ideally game developers don't touch the server code, they just play within the game directory, which will contain all of their script parents and stuff.

NOTE: I may have broken the Linux/Unix start script. I am not able to boot back into Linux at the moment due to some testing going on, so if anyone could take a moment to tell me one way or another, I'd appreciate it.

NOTE: You'll need to move your evennia.db3 file into the game directory if you're using sqlite.
2008-12-15 03:37:30 +00:00
Renamed from settings.py (Browse further)