From 9395575b648ff4de26be94020dddf796c988db73 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Sat, 6 Feb 2016 01:26:24 +0100 Subject: [PATCH] Server: Make world initialization conf file choosable. --- SERVER_COMMANDS | 7 ++++--- roguelike-server | 5 ++--- server/config/io.py | 1 - server/utils.py | 2 ++ 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/SERVER_COMMANDS b/SERVER_COMMANDS index 156cd43..e959f25 100644 --- a/SERVER_COMMANDS +++ b/SERVER_COMMANDS @@ -6,9 +6,10 @@ Normal mode In normal mode, the server on start up checks for the existence of ./save and, on success, reads all commands from it. If no save file exists, commands from -./confserver/world are read instead – and written to the file ./record_save. -Afterwards, the command "MAKE_WORLD" with the current Unix time as argument is -interpreted (and also written to ./record_save). +./confserver/world (or any file defined with the -w argument) are read instead +– and written to the file ./record_save. Afterwards, the command "MAKE_WORLD" +with the current Unix time as argument is interpreted (and also written to +./record_save). In any case, from then on, further commands are read in from ./server_run/in. New commands must be appended to the file – which is what the client does. All diff --git a/roguelike-server b/roguelike-server index abd2f2f..ac6601e 100755 --- a/roguelike-server +++ b/roguelike-server @@ -47,11 +47,10 @@ def play_game(): if os.access(io_db["path_save"], os.F_OK): obey_lines_in_file(io_db["path_save"], "save") else: - if not os.access(io_db["path_worldconf"], os.F_OK): + if not os.access(opts.worldconf, os.F_OK): msg = "No world config file from which to start a new world." raise SystemExit(msg) - obey_lines_in_file(io_db["path_worldconf"], "world config ", - do_record=True) + obey_lines_in_file(opts.worldconf, "world config ", do_record=True) obey("MAKE_WORLD " + str(int(time.time())), "in file", do_record=True) while True: try_worldstate_update() diff --git a/server/config/io.py b/server/config/io.py index e134b2f..ec6a8ae 100644 --- a/server/config/io.py +++ b/server/config/io.py @@ -7,7 +7,6 @@ io_db = { "path_save": "save", "path_record": "record_save", - "path_worldconf": "confserver/world", "path_server": "server_run/", "path_in": "server_run/in", "path_out": "server_run/out", diff --git a/server/utils.py b/server/utils.py index 22e2454..db33eba 100644 --- a/server/utils.py +++ b/server/utils.py @@ -95,6 +95,8 @@ def parse_command_line_arguments(): action='store') parser.add_argument('-l', nargs="?", const="save", dest='savefile', action="store") + parser.add_argument('-w', type=str, default="confserver/world", + dest='worldconf', action='store') parser.add_argument('-v', dest='verbose', action='store_true') opts, unknown = parser.parse_known_args() return opts -- 2.30.2