mirror of
https://github.com/kuitoi/kuitoi-Server.git
synced 2025-08-17 16:25:36 +00:00
Compare commits
5 Commits
76b568c248
...
6d01f0ef8d
Author | SHA1 | Date | |
---|---|---|---|
6d01f0ef8d | |||
eea03c835f | |||
f28a783f7e | |||
dbb27ff6d5 | |||
e621c8dc7c |
@ -4,6 +4,13 @@
|
|||||||
**_[Status: Beta]_** \
|
**_[Status: Beta]_** \
|
||||||
BeamingDrive Multiplayer (BeamMP) server compatible with BeamMP clients.
|
BeamingDrive Multiplayer (BeamMP) server compatible with BeamMP clients.
|
||||||
|
|
||||||
|
Why did I decide to write my own kernel from scratch?\
|
||||||
|
I didn't like writing plugins in Lua after using Python; it was very inconvenient, there were always some nuances, which ultimately led me to create KuiToi!
|
||||||
|
|
||||||
|
**Our site**: [kuitoi.su](https://kuitoi.su) (WIP)\
|
||||||
|
**Our forum**: [forum.kuitoi.su](https://forum.kuitoi.su) (WIP)\
|
||||||
|
**Our discord**: [KuiToi](https://discord.gg/BAcgaAmdkJ)
|
||||||
|
|
||||||
## TODOs
|
## TODOs
|
||||||
|
|
||||||
- [x] Server core:
|
- [x] Server core:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Developed by KuiToi Dev
|
# Developed by KuiToi Dev
|
||||||
# File core.tcp_server.py
|
# File core.tcp_server.py
|
||||||
# Written by: SantaSpeen
|
# Written by: SantaSpeen
|
||||||
# Core version: 0.4.1
|
# Core version: 0.4.3
|
||||||
# Licence: FPA
|
# Licence: FPA
|
||||||
# (c) kuitoi.su 2023
|
# (c) kuitoi.su 2023
|
||||||
import asyncio
|
import asyncio
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Developed by KuiToi Dev
|
# Developed by KuiToi Dev
|
||||||
# File core.tcp_server.py
|
# File core.tcp_server.py
|
||||||
# Written by: SantaSpeen
|
# Written by: SantaSpeen
|
||||||
# Core version: 0.4.1
|
# Core version: 0.4.3
|
||||||
# Licence: FPA
|
# Licence: FPA
|
||||||
# (c) kuitoi.su 2023
|
# (c) kuitoi.su 2023
|
||||||
import asyncio
|
import asyncio
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Developed by KuiToi Dev
|
# Developed by KuiToi Dev
|
||||||
# File core.__init__.py
|
# File core.__init__.py
|
||||||
# Written by: SantaSpeen
|
# Written by: SantaSpeen
|
||||||
# Version 1.3
|
# Version 1.4
|
||||||
# Core version: 0.4.1
|
# Core version: 0.4.3
|
||||||
# Licence: FPA
|
# Licence: FPA
|
||||||
# (c) kuitoi.su 2023
|
# (c) kuitoi.su 2023
|
||||||
# Special thanks to: AI Sage(https://poe.com/Sage), AI falcon-40b-v7(https://OpenBuddy.ai)
|
# Special thanks to: AI Sage(https://poe.com/Sage), AI falcon-40b-v7(https://OpenBuddy.ai)
|
||||||
@ -10,8 +10,8 @@
|
|||||||
__title__ = 'KuiToi-Server'
|
__title__ = 'KuiToi-Server'
|
||||||
__description__ = 'BeamingDrive Multiplayer server compatible with BeamMP clients.'
|
__description__ = 'BeamingDrive Multiplayer server compatible with BeamMP clients.'
|
||||||
__url__ = 'https://github.com/kuitoi/kuitoi-Server'
|
__url__ = 'https://github.com/kuitoi/kuitoi-Server'
|
||||||
__version__ = '0.4.1'
|
__version__ = '0.4.3'
|
||||||
__build__ = 1925 # Я это считаю лог файлами
|
__build__ = 2125 # Я это считаю лог файлами
|
||||||
__author__ = 'SantaSpeen'
|
__author__ = 'SantaSpeen'
|
||||||
__author_email__ = 'admin@kuitoi.su'
|
__author_email__ = 'admin@kuitoi.su'
|
||||||
__license__ = "FPA"
|
__license__ = "FPA"
|
||||||
@ -102,7 +102,7 @@ if not config.Auth['private'] and not config.Auth['key']:
|
|||||||
log.debug("Initializing console...")
|
log.debug("Initializing console...")
|
||||||
console = Console()
|
console = Console()
|
||||||
console.builtins_hook()
|
console.builtins_hook()
|
||||||
# console.logger_hook()
|
console.logger_hook()
|
||||||
console.add_command("stop", console.stop, i18n.man_message_stop, i18n.help_message_stop)
|
console.add_command("stop", console.stop, i18n.man_message_stop, i18n.help_message_stop)
|
||||||
console.add_command("exit", console.stop, i18n.man_message_exit, i18n.help_message_exit)
|
console.add_command("exit", console.stop, i18n.man_message_exit, i18n.help_message_exit)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Developed by KuiToi Dev
|
# Developed by KuiToi Dev
|
||||||
# File core.core.py
|
# File core.core.py
|
||||||
# Written by: SantaSpeen
|
# Written by: SantaSpeen
|
||||||
# Version: 0.4.1
|
# Version: 0.4.3
|
||||||
# Licence: FPA
|
# Licence: FPA
|
||||||
# (c) kuitoi.su 2023
|
# (c) kuitoi.su 2023
|
||||||
import asyncio
|
import asyncio
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Developed by KuiToi Dev
|
# Developed by KuiToi Dev
|
||||||
# File core.core.pyi
|
# File core.core.pyi
|
||||||
# Written by: SantaSpeen
|
# Written by: SantaSpeen
|
||||||
# Version 0.4.1
|
# Core version: 0.4.3
|
||||||
# Licence: FPA
|
# Licence: FPA
|
||||||
# (c) kuitoi.su 2023
|
# (c) kuitoi.su 2023
|
||||||
import asyncio
|
import asyncio
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Developed by KuiToi Dev
|
# Developed by KuiToi Dev
|
||||||
# File core.tcp_server.py
|
# File core.tcp_server.py
|
||||||
# Written by: SantaSpeen
|
# Written by: SantaSpeen
|
||||||
# Core version: 0.4.1
|
# Core version: 0.4.3
|
||||||
# Licence: FPA
|
# Licence: FPA
|
||||||
# (c) kuitoi.su 2023
|
# (c) kuitoi.su 2023
|
||||||
import asyncio
|
import asyncio
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Developed by KuiToi Dev
|
# Developed by KuiToi Dev
|
||||||
# File core.tcp_server.pyi
|
# File core.tcp_server.pyi
|
||||||
# Written by: SantaSpeen
|
# Written by: SantaSpeen
|
||||||
# Core version: 0.4.1
|
# Core version: 0.4.3
|
||||||
# Licence: FPA
|
# Licence: FPA
|
||||||
# (c) kuitoi.su 2023
|
# (c) kuitoi.su 2023
|
||||||
import asyncio
|
import asyncio
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Developed by KuiToi Dev
|
# Developed by KuiToi Dev
|
||||||
# File core.udp_server.py
|
# File core.udp_server.py
|
||||||
# Written by: SantaSpeen
|
# Written by: SantaSpeen
|
||||||
# Core version: 0.4.1
|
# Core version: 0.4.3
|
||||||
# Licence: FPA
|
# Licence: FPA
|
||||||
# (c) kuitoi.su 2023
|
# (c) kuitoi.su 2023
|
||||||
import asyncio
|
import asyncio
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Developed by KuiToi Dev
|
# Developed by KuiToi Dev
|
||||||
# File core.udp_server.py
|
# File core.udp_server.py
|
||||||
# Written by: SantaSpeen
|
# Written by: SantaSpeen
|
||||||
# Core version: 0.4.1
|
# Core version: 0.4.3
|
||||||
# Licence: FPA
|
# Licence: FPA
|
||||||
# (c) kuitoi.su 2023
|
# (c) kuitoi.su 2023
|
||||||
import asyncio
|
import asyncio
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# File core.utils.py
|
# File core.utils.py
|
||||||
# Written by: SantaSpeen
|
# Written by: SantaSpeen
|
||||||
# Version 1.1
|
# Version 1.1
|
||||||
# Core version: 0.4.1
|
# Core version: 0.4.3
|
||||||
# Licence: FPA
|
# Licence: FPA
|
||||||
# (c) kuitoi.su 2023
|
# (c) kuitoi.su 2023
|
||||||
import datetime
|
import datetime
|
||||||
|
@ -122,19 +122,30 @@ class Console:
|
|||||||
self.__alias.update(custom_completer or {key: None})
|
self.__alias.update(custom_completer or {key: None})
|
||||||
self.__alias["man"].update({key: None})
|
self.__alias["man"].update({key: None})
|
||||||
self.__func.update({key: {"f": func}})
|
self.__func.update({key: {"f": func}})
|
||||||
self.__man.update({key: f'html<seagreen>{i18n.man_for} <b>{key}</b>\n{man}</seagreen>' if man else None})
|
self.__man.update({key: f'html:<seagreen>{i18n.man_for} <b>{key}</b>\n{man}</seagreen>' if man else None})
|
||||||
self.__desc.update({key: desc})
|
self.__desc.update({key: desc})
|
||||||
self.__update_completer()
|
self.__update_completer()
|
||||||
return self.__alias.copy()
|
return self.__alias.copy()
|
||||||
|
|
||||||
def write(self, s: AnyStr):
|
def _write(self, t):
|
||||||
if s.startswith("html"):
|
if t.startswith("html:"):
|
||||||
print_formatted_text(HTML(s[4:]))
|
print_formatted_text(HTML(t[5:]))
|
||||||
else:
|
else:
|
||||||
print_formatted_text(s)
|
print_formatted_text(t)
|
||||||
|
|
||||||
|
def write(self, s: AnyStr):
|
||||||
|
if isinstance(s, (list, tuple)):
|
||||||
|
for text in s:
|
||||||
|
self._write(text)
|
||||||
|
else:
|
||||||
|
self._write(s)
|
||||||
|
|
||||||
def log(self, s: AnyStr) -> None:
|
def log(self, s: AnyStr) -> None:
|
||||||
self.__logger.info(f"{s}")
|
if isinstance(s, (list, tuple)):
|
||||||
|
for text in s:
|
||||||
|
self.__logger.info(f"{text}")
|
||||||
|
else:
|
||||||
|
self.__logger.info(f"{s}")
|
||||||
# self.write(s)
|
# self.write(s)
|
||||||
|
|
||||||
def __lshift__(self, s: AnyStr) -> None:
|
def __lshift__(self, s: AnyStr) -> None:
|
||||||
@ -201,13 +212,21 @@ class Console:
|
|||||||
if cmd == "":
|
if cmd == "":
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
|
found_in_lua = False
|
||||||
|
d = ev.call_lua_event("onConsoleInput", cmd_in)
|
||||||
|
if len(d) > 0:
|
||||||
|
for text in d:
|
||||||
|
if text is not None:
|
||||||
|
found_in_lua = True
|
||||||
|
self.log(text)
|
||||||
command_object = self.__func.get(cmd)
|
command_object = self.__func.get(cmd)
|
||||||
if command_object:
|
if command_object:
|
||||||
out = command_object['f'](cmd_s[1:])
|
out = command_object['f'](cmd_s[1:])
|
||||||
if out:
|
if out:
|
||||||
self.log(out)
|
self.log(out)
|
||||||
else:
|
else:
|
||||||
self.log(self.__not_found % cmd)
|
if not found_in_lua:
|
||||||
|
self.log(self.__not_found % cmd)
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
raise KeyboardInterrupt
|
raise KeyboardInterrupt
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user