diff --git a/CHANGELOG.md b/CHANGELOG.md index 1463f67537..afe5ad1ba7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,15 +8,17 @@ with different functionality). - Both Portal/Server are now stand-alone processes (easy to run as daemon) - Made Portal the AMP Server for starting/restarting the Server (the AMP client) -- Dynamic logging now happens using `evennia -l` rather than by interactive. +- Dynamic logging now happens using `evennia -l` rather than by interactive mode. - Made AMP secure against erroneous HTTP requests on the wrong port (return error messages). - The `evennia istart` option will start/switch the Server in foreground (interactive) mode, where it logs to terminal and can be stopped with Ctrl-C. Using `evennia reload`, or reloading in-game, will return Server to normal daemon operation. - For validating passwords, use safe Django password-validation backend instead of custom Evennia one. +- Alias `evennia restart` to mean the same as `evennia reload`. ### Prototype changes +- New OLC started from `olc` command for loading/saving/manipulating prototypes in a menu. - Moved evennia/utils/spawner.py into the new evennia/prototypes/ along with all new functionality around prototypes. - A new form of prototype - database-stored prototypes, editable from in-game, was added. The old, @@ -35,8 +37,6 @@ - The spawn command was extended to accept a full prototype on one line. - The spawn command got the /save switch to save the defined prototype and its key - The command spawn/menu will now start an OLC (OnLine Creation) menu to load/save/edit/spawn prototypes. -- The OLC allows for updating all objects previously created using a given prototype with any - changes done. ### EvMenu @@ -52,7 +52,11 @@ ### Webclient -- Refactoring of webclient structure. +- Webclient now uses a plugin system to inject new components from the html file. +- Split-windows - divide input field into any number of horizontal/vertical panes and + assign different types of server messages to them. +- Lots of cleanup and bug fixes. +- Hot buttons plugin (friarzen) (disabled by default). ### Locks @@ -91,6 +95,7 @@ ### Contribs +- `Auditing` (Johnny): Log and filter server input/output for security purposes - `Build Menu` (vincent-lg): New @edit command to edit object properties in a menu. - `Field Fill` (Tim Ashley Jenkins): Wraps EvMenu for creating submittable forms. - `Health Bar` (Tim Ashley Jenkins): Easily create colorful bars/meters. diff --git a/evennia/server/evennia_launcher.py b/evennia/server/evennia_launcher.py index 6b41f16d4a..779a1e4aa2 100644 --- a/evennia/server/evennia_launcher.py +++ b/evennia/server/evennia_launcher.py @@ -2014,7 +2014,7 @@ def main(): # launch menu for operation init_game_directory(CURRENT_DIR, check_db=True) run_menu() - elif option in ('status', 'info', 'start', 'istart', 'ipstart', 'reload', 'reboot', + elif option in ('status', 'info', 'start', 'istart', 'ipstart', 'reload', 'restart', 'reboot', 'reset', 'stop', 'sstop', 'kill', 'skill'): # operate the server directly if not SERVER_LOGFILE: @@ -2029,7 +2029,7 @@ def main(): start_server_interactive() elif option == "ipstart": start_portal_interactive() - elif option == 'reload': + elif option in ('reload', 'restart'): reload_evennia(args.profiler) elif option == 'reboot': reboot_evennia(args.profiler, args.profiler) diff --git a/evennia/utils/evmenu.py b/evennia/utils/evmenu.py index f82dc5cb1f..e4a5e4c5e0 100644 --- a/evennia/utils/evmenu.py +++ b/evennia/utils/evmenu.py @@ -731,11 +731,14 @@ class EvMenu(object): Args: nodename (str or callable): Name of node or a callable - to be called as `function(caller, raw_string)` or `function(caller)` - to return the actual goto string. + to be called as `function(caller, raw_string, **kwargs)` or + `function(caller, **kwargs)` to return the actual goto string or + a ("nodename", kwargs) tuple. raw_string (str): The raw default string entered on the previous node (only used if the node accepts it as an argument) + Kwargs: + any: Extra arguments to goto callables. """