diff --git a/src/core/__init__.py b/src/core/__init__.py index ef5ee32..5179b59 100644 --- a/src/core/__init__.py +++ b/src/core/__init__.py @@ -8,8 +8,8 @@ __title__ = 'KuiToi-Server' __description__ = 'BeamingDrive Multiplayer server compatible with BeamMP clients.' __url__ = 'https://github.com/kuitoi/kuitoi-Server' -__version__ = '0.1.1' -__build__ = 176 +__version__ = '0.1.2' +__build__ = 178 __author__ = 'SantaSpeen' __author_email__ = 'admin@kuitoi.su' __license__ = "FPA" @@ -23,35 +23,44 @@ import webbrowser from prompt_toolkit.shortcuts import input_dialog, yes_no_dialog from modules import ConfigProvider -from main import parser from modules import Console +from modules import MultiLanguage +from main import parser from core.core import Core -from core.utils import get_logger +from .utils import get_logger -loop = asyncio.get_event_loop() - -console = Console() -log = get_logger("init") - -log.info("Hello from KuiToi-Server!") args = parser.parse_args() if args.version: print(f"KuiToi-Server:\n\tVersion: {__version__}\n\tBuild: {__build__}") exit(0) +loop = asyncio.get_event_loop() +asyncio.set_event_loop(loop) +log = get_logger("init") + +# i18n init +log.debug("Initializing i18n...") +ml = MultiLanguage() +ml.set_language(args.language) +ml.builtins_hook() + +log.info(i18n.hello) + +# Config file init config_path = "kuitoi.yml" if args.config: config_path = args.config -log.info(f"Use {config_path} for config.") config_provider = ConfigProvider(config_path) config = config_provider.open_config() +log.info(i18n.config_file % config_path) if config.Server['debug'] is True: core.utils.set_debug_status() - log.info("Getting new logging with DEBUG level!") - log = get_logger("main") + log.info(i18n.debug) + log = get_logger("init") log.debug("Debug mode enabled!") - log.debug(f"Server config: {config}") + log.debug(i18n.config_info % config) +# Key handler.. if not config.Auth['key']: log.warn("Key needed for starting the server!") url = "https://beammp.com/k/keys" @@ -69,16 +78,21 @@ if not config.Auth['key']: log.error("Key is empty!") log.error("Server stopped!") exit(1) - builtins.config = config + +# Console Init +log.debug("Initializing console...") +console = Console() console.builtins_hook() console.logger_hook() console.add_command("stop", console.stop, "stop - Just shutting down the server.\nUsage: stop", "Server shutdown.") console.add_command("exit", console.stop, "stop - Just shutting down the server.\nUsage: stop", "Server shutdown.") + +# Dirs if not os.path.exists("mods"): os.mkdir("mods") if not os.path.exists("plugins"): os.mkdir("plugins") -log.info("Initializing ready.") +log.info(i18n.init) diff --git a/src/core/core.py b/src/core/core.py index b0a52cd..1f6faa0 100644 --- a/src/core/core.py +++ b/src/core/core.py @@ -88,7 +88,7 @@ class Core: async def main(self): server_ip = config.Server["server_ip"] server_port = config.Server["server_port"] - self.log.info("Server started!") + self.log.info(i18n.ready) while True: try: diff --git a/src/main.py b/src/main.py index 924010e..a65dc28 100644 --- a/src/main.py +++ b/src/main.py @@ -12,6 +12,7 @@ import argparse parser = argparse.ArgumentParser(description='KuiToi-Server - BeamingDrive server compatible with BeamMP clients!') parser.add_argument('-v', '--version', action="store_true", help='Print version and exit.', default=False) parser.add_argument('--config', help='Patch to config file.', nargs='?', default=None, type=str) +parser.add_argument('--language', help='What localisation need to use.', default="en", type=str) if __name__ == '__main__': from core import Core