From 274bdead2fed1e8891d24a75345b0eecbc7ccc9d Mon Sep 17 00:00:00 2001 From: santaspeen Date: Fri, 28 Jun 2024 17:51:12 +0300 Subject: [PATCH] [>] TODOs to md [>] windows's blobs to win/ --- README.md | 74 +------------------------- TODO.md | 73 +++++++++++++++++++++++++ win-metadata.yml | 19 ------- win-pyinstaller.json => win/auto.json | 24 ++------- win-logo.ico => win/icon.ico | Bin win/metadata.txt | 44 +++++++++++++++ 6 files changed, 123 insertions(+), 111 deletions(-) create mode 100644 TODO.md delete mode 100644 win-metadata.yml rename win-pyinstaller.json => win/auto.json (67%) rename win-logo.ico => win/icon.ico (100%) create mode 100644 win/metadata.txt diff --git a/README.md b/README.md index e28722d..7b459d0 100644 --- a/README.md +++ b/README.md @@ -13,81 +13,11 @@ I didn't like writing plugins in Lua after using Python; it was very inconvenien ## TODOs -- [x] Server core: - - [x] BeamMP System: - - [x] Private access (Without key, Direct connect) - - [x] Public access (With key, listing in Launcher) - - [X] Player authentication - - [x] TCP Server part: - - [x] Handle code - - [x] Understanding BeamMP header - - [x] Upload mods - - [x] Connecting to the world - - [x] Chat - - [x] Players online counter - - [x] Packets handled (Recursive finding second packet) - - [x] Client events - - [x] Car synchronizations: - - [x] State packets - - [x] Spawn cars - - [x] Delete cars - - [x] Edit cars - - [x] Reset cars - - [x] "ABG": (compressed data) - - [x] Decompress data - - [x] Compress data - - [x] UDP Server part: - - [x] Ping - - [x] Position synchronizations -- [x] Additional: - - [x] Logger: - - [x] Just logging - - [x] Log in file - - [x] Log history (.1.log, .2.log, ...) - - [x] Console: - - [x] Tabulation - - [x] History - - [x] Autocomplete - - [x] Events System: - - [x] Call events - - [x] Create custom events - - [x] Return from events - - [x] Async support - - [x] Add all events - - [x] MultiLanguage: (i18n support) - - [x] Core - - [x] Console - - [x] WebAPI - - [x] Plugins supports: - - [x] Python part: - - [x] Load Python plugins - - [x] Async support - - [x] KuiToi class - - [x] Client (Player) class - - [x] Lua part: (Original BeamMP compatibility) - - [x] Load Lua plugins - - [x] MP Class - - [x] Util class - - [x] FS class - - [ ] HTTP API Server: (fastapi) - - [x] Stop and Start with core - - [x] Configure FastAPI logger - - [ ] Sync with event system - - [ ] Add methods... - - [ ] RCON System: - - [x] Serving - - [ ] Handle commands - - [x] Client - - [x] AES encryption - - [ ] KuiToi System - - [ ] Servers counter - - [ ] Players counter - - [ ] Etc. -- [ ] [Documentation](./docs) +[TODO.md](./TODO.md) ## Installation -1. Install **Python 3.10** +1. Install **Python 3.12**+ 2. Clone the repository in a location of your choice with: `git clone -b Stable https://github.com/kuitoi/kuitoi-Server.git`. 3. Change directory into the KuiToi-Server: `cd KuiToi-Server`. 4. Install requirements: `pip install -r requirements.txt`. diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..16af6e6 --- /dev/null +++ b/TODO.md @@ -0,0 +1,73 @@ +## TODOs + +- [x] Server core: + - [x] BeamMP System: + - [x] Private access (Without key, Direct connect) + - [x] Public access (With key, listing in Launcher) + - [X] Player authentication + - [x] TCP Server part: + - [x] Handle code + - [x] Understanding BeamMP header + - [x] Upload mods + - [x] Connecting to the world + - [x] Chat + - [x] Players online counter + - [x] Packets handled (Recursive finding second packet) + - [x] Client events + - [x] Car synchronizations: + - [x] State packets + - [x] Spawn cars + - [x] Delete cars + - [x] Edit cars + - [x] Reset cars + - [x] "ABG": (compressed data) + - [x] Decompress data + - [x] Compress data + - [x] UDP Server part: + - [x] Ping + - [x] Position synchronizations +- [x] Additional: + - [x] Logger: + - [x] Just logging + - [x] Log in file + - [x] Log history (.1.log, .2.log, ...) + - [x] Console: + - [x] Tabulation + - [x] History + - [x] Autocomplete + - [x] Events System: + - [x] Call events + - [x] Create custom events + - [x] Return from events + - [x] Async support + - [x] Add all events + - [x] MultiLanguage: (i18n support) + - [x] Core + - [x] Console + - [x] WebAPI + - [x] Plugins supports: + - [x] Python part: + - [x] Load Python plugins + - [x] Async support + - [x] KuiToi class + - [x] Client (Player) class + - [x] Lua part: (Original BeamMP compatibility) + - [x] Load Lua plugins + - [x] MP Class + - [x] Util class + - [x] FS class + - [ ] HTTP API Server: (fastapi) + - [x] Stop and Start with core + - [x] Configure FastAPI logger + - [ ] Sync with event system + - [ ] Add methods... + - [ ] RCON System: + - [x] Serving + - [ ] Handle commands + - [x] Client + - [x] AES encryption + - [ ] KuiToi System + - [ ] Servers counter + - [ ] Players counter + - [ ] Etc. +- [ ] [Documentation](./docs) diff --git a/win-metadata.yml b/win-metadata.yml deleted file mode 100644 index 3dbf5cd..0000000 --- a/win-metadata.yml +++ /dev/null @@ -1,19 +0,0 @@ -# pip install pyinstaller-versionfile -# create-version-file win-metadata.yml --outfile win-ver_info.txt -Version: 0.4.5 -CompanyName: KuiToi -FileDescription: KuiToi Server -InternalName: KuiToi Server -LegalCopyright: © Maxim Khomutov -OriginalFilename: KuiToi-Server.exe -ProductName: KuiToi Server -Translation: - # ru-RU - - langID: 1049 - charsetID: 1251 - # en-US - - langID: 1033 - charsetID: 1251 - # zh-CN - - langID: 2052 - charsetID: 950 diff --git a/win-pyinstaller.json b/win/auto.json similarity index 67% rename from win-pyinstaller.json rename to win/auto.json index 449e888..19234f9 100644 --- a/win-pyinstaller.json +++ b/win/auto.json @@ -7,7 +7,7 @@ }, { "optionDest": "filenames", - "value": "C:/Users/Santa/PycharmProjects/kuitoi-Server/src/main.py" + "value": "../src/main.py" }, { "optionDest": "onefile", @@ -19,16 +19,12 @@ }, { "optionDest": "icon_file", - "value": "C:/Users/Santa/PycharmProjects/kuitoi-Server/win-logo.ico" + "value": "./icon.ico" }, { "optionDest": "name", "value": "KuiToi-Server" }, - { - "optionDest": "ascii", - "value": true - }, { "optionDest": "clean_build", "value": false @@ -47,11 +43,7 @@ }, { "optionDest": "version_file", - "value": "C:/Users/Santa/PycharmProjects/kuitoi-Server/win-ver_info.txt" - }, - { - "optionDest": "embed_manifest", - "value": true + "value": "./metadata.txt" }, { "optionDest": "uac_admin", @@ -62,20 +54,12 @@ "value": false }, { - "optionDest": "win_private_assemblies", - "value": false - }, - { - "optionDest": "win_no_prefer_redirects", + "optionDest": "argv_emulation", "value": false }, { "optionDest": "bootloader_ignore_signals", "value": false - }, - { - "optionDest": "argv_emulation", - "value": false } ], "nonPyinstallerOptions": { diff --git a/win-logo.ico b/win/icon.ico similarity index 100% rename from win-logo.ico rename to win/icon.ico diff --git a/win/metadata.txt b/win/metadata.txt new file mode 100644 index 0000000..6bc83c2 --- /dev/null +++ b/win/metadata.txt @@ -0,0 +1,44 @@ +# UTF-8 +# +# For more details about fixed file info 'ffi' see: +# http://msdn.microsoft.com/en-us/library/ms646997.aspx + +VSVersionInfo( + ffi=FixedFileInfo( + # filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4) + # Set not needed items to zero 0. Must always contain 4 elements. + filevers=(0,4,5,0), + prodvers=(0,4,5,0), + # Contains a bitmask that specifies the valid bits 'flags'r + mask=0x3f, + # Contains a bitmask that specifies the Boolean attributes of the file. + flags=0x0, + # The operating system for which this file was designed. + # 0x4 - NT and there is no need to change it. + OS=0x40004, + # The general type of file. + # 0x1 - the file is an application. + fileType=0x1, + # The function of the file. + # 0x0 - the function is not defined for this fileType + subtype=0x0, + # Creation date and time stamp. + date=(0, 0) + ), + kids=[ + StringFileInfo( + [ + StringTable( + u'040904B0', + [StringStruct(u'CompanyName', u'KuiToi'), + StringStruct(u'FileDescription', u'KuiToi Server'), + StringStruct(u'FileVersion', u'0.4.5.0'), + StringStruct(u'InternalName', u'KuiToi Server'), + StringStruct(u'LegalCopyright', u'© Maxim Khomutov'), + StringStruct(u'OriginalFilename', u'KuiToi-Server.exe'), + StringStruct(u'ProductName', u'KuiToi Server'), + StringStruct(u'ProductVersion', u'0.4.5.0')]) + ]), + VarFileInfo([VarStruct(u'Translation', [1049, 1251, 1033, 1251, 2052, 950])]) + ] +) \ No newline at end of file