Add an optional path to factorio server-settings.json (#851)
* Add an optional path to factorio server-settings.json * factorio: changes * use forward slashs in host.yaml going forward. (works on all OSes.) * comment out the host.yaml server_settings option. * assume that server_settings is NOT provided and explicitly check for its existence in factorio_client.
This commit is contained in:
		
							parent
							
								
									0b228834c2
								
							
						
					
					
						commit
						5f27019855
					
				|  | @ -400,6 +400,7 @@ if __name__ == '__main__': | ||||||
|                                          "Refer to Factorio --help for those.") |                                          "Refer to Factorio --help for those.") | ||||||
|     parser.add_argument('--rcon-port', default='24242', type=int, help='Port to use to communicate with Factorio') |     parser.add_argument('--rcon-port', default='24242', type=int, help='Port to use to communicate with Factorio') | ||||||
|     parser.add_argument('--rcon-password', help='Password to authenticate with RCON.') |     parser.add_argument('--rcon-password', help='Password to authenticate with RCON.') | ||||||
|  |     parser.add_argument('--server-settings', help='Factorio server settings configuration file.') | ||||||
| 
 | 
 | ||||||
|     args, rest = parser.parse_known_args() |     args, rest = parser.parse_known_args() | ||||||
|     colorama.init() |     colorama.init() | ||||||
|  | @ -410,6 +411,9 @@ if __name__ == '__main__': | ||||||
|     factorio_server_logger = logging.getLogger("FactorioServer") |     factorio_server_logger = logging.getLogger("FactorioServer") | ||||||
|     options = Utils.get_options() |     options = Utils.get_options() | ||||||
|     executable = options["factorio_options"]["executable"] |     executable = options["factorio_options"]["executable"] | ||||||
|  |     server_settings = args.server_settings if args.server_settings else options["factorio_options"].get("server_settings", None) | ||||||
|  |     if server_settings: | ||||||
|  |         server_settings = os.path.abspath(server_settings) | ||||||
| 
 | 
 | ||||||
|     if not os.path.exists(os.path.dirname(executable)): |     if not os.path.exists(os.path.dirname(executable)): | ||||||
|         raise FileNotFoundError(f"Path {os.path.dirname(executable)} does not exist or could not be accessed.") |         raise FileNotFoundError(f"Path {os.path.dirname(executable)} does not exist or could not be accessed.") | ||||||
|  | @ -421,6 +425,9 @@ if __name__ == '__main__': | ||||||
|         else: |         else: | ||||||
|             raise FileNotFoundError(f"Path {executable} is not an executable file.") |             raise FileNotFoundError(f"Path {executable} is not an executable file.") | ||||||
| 
 | 
 | ||||||
|  |     if server_settings and os.path.isfile(server_settings): | ||||||
|  |         server_args = ("--rcon-port", rcon_port, "--rcon-password", rcon_password, "--server-settings", server_settings, *rest) | ||||||
|  |     else: | ||||||
|         server_args = ("--rcon-port", rcon_port, "--rcon-password", rcon_password, *rest) |         server_args = ("--rcon-port", rcon_port, "--rcon-password", rcon_password, *rest) | ||||||
| 
 | 
 | ||||||
|     asyncio.run(main(args)) |     asyncio.run(main(args)) | ||||||
|  |  | ||||||
|  | @ -101,7 +101,9 @@ sm_options: | ||||||
|   # Alternatively, a path to a program to open the .sfc file with |   # Alternatively, a path to a program to open the .sfc file with | ||||||
|   rom_start: true |   rom_start: true | ||||||
| factorio_options: | factorio_options: | ||||||
|   executable: "factorio\\bin\\x64\\factorio" |   executable: "factorio/bin/x64/factorio" | ||||||
|  |   # by default, no settings are loaded if this file does not exist.  If this file does exist, then it will be used. | ||||||
|  |   # server_settings: "factorio\\data\\server-settings.json" | ||||||
| minecraft_options:  | minecraft_options:  | ||||||
|   forge_directory: "Minecraft Forge server" |   forge_directory: "Minecraft Forge server" | ||||||
|   max_heap_size: "2G" |   max_heap_size: "2G" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue