add save game

This commit is contained in:
2024-09-22 00:09:50 +02:00
parent 616bf5e36e
commit 371ba021ae

View File

@@ -16,7 +16,7 @@ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
class SatiAPI:
"""A API wrapper for Satisfactory dedicated server"""
__AUTHOR__ = 'anima'
__VERSION__ = '0.13.1'
__VERSION__ = '0.14.0'
def __init__(self, host: str = None, port: int = 7777, token: str = None, conffile: str = 'conf.yml', logfile: str = 'SatiAPI.log', loglevel: int = 20) -> None:
"""create a wrapper for satisfactory dedicated server
@@ -439,6 +439,22 @@ class SatiAPI:
response = self.__query('CreateNewGame', data, True)
return response
def save_game(self, savename: str = None):
"""Saves the currently loaded session into the new save game file named as the argument. Requires Admin privileges. SaveName might be changed to satisfy file system restrictions on file names. Function does not return any data on success.
:param savename: Name of the save game file to create. Passed name might be sanitized (default: Sessionname_APISave)
:type savename: string
:return: return true if save successfull init
:rtype: bool
"""
if savename is None:
state = self.get_status()
savename = f'{state["data"]["serverGameState"]["activeSessionName"]}_APISave'
data = dict()
data['SaveName'] = savename
return self.__query('SaveGame', data, True)
def get_server_options(self) -> dict:
"""Retrieves currently applied server options and server options that are still pending application (because of needing session or server restart) Does not require input parameters.
@@ -480,4 +496,4 @@ if __name__ == "__main__":
print()
print(sati.get_sessions())
print()
print(sati.create_new_game('MyWorld', 2))
print(sati.save_game('MySave'))