diff --git a/README.md b/README.md index 06141d2..6c12b7d 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,7 @@ BeamingDrive Multiplayer (BeamMP) server compatible with BeamMP clients. - [ ] Console: - [x] Tabulation - [ ] _(Deferred)_ Normal text scroll -- [ ] Documentation: - - [x] [Plugins and Events](docs/plugins-and-events.md) +- [x] [Documentation](docs/readme.md) ## Installation diff --git a/docs/plugins/example.py b/docs/plugins/example.py new file mode 100644 index 0000000..c7d60e0 --- /dev/null +++ b/docs/plugins/example.py @@ -0,0 +1,36 @@ +import BEAMP # Import server object + +beam = BEAMP("TestPlugin") # Init plugin with name "TestPlugin" +log = beam.log # Use logger from server + + +def on_load(): + # When plugin initialization Server uses plugin.load() to load plugin. + # def load(): is really needed + log.info(beam.name) + + +# Events handlers + +def on_started(): + # Simple event handler + log.info("Server starting...") + + +# Simple event register +beam.register_event("on_started", on_started) + + +def any_func(data=None): + # Custom event handler + log.info(f"Data from any_func: {data}") + + +# Create custom event +beam.register_event("my_event", any_func) + +# Call custom event +beam.call_event("my_event") +beam.call_event("my_event", "Some data") +# This will be an error since any_func accepts only one argument at the input +beam.call_event("my_event", "Some data", "Some data1") diff --git a/docs/plugins-and-events.md b/docs/plugins/readme.md similarity index 100% rename from docs/plugins-and-events.md rename to docs/plugins/readme.md diff --git a/docs/readme.md b/docs/readme.md new file mode 100644 index 0000000..f9cb45b --- /dev/null +++ b/docs/readme.md @@ -0,0 +1,5 @@ +# Documentation for KuiToi Server + +1. Setup and Start server - [here](./setup) +2. Plugins and Events system - [here](./plugins) +3. Something new diff --git a/docs/setup/readme.md b/docs/setup/readme.md new file mode 100644 index 0000000..f2d2ebe --- /dev/null +++ b/docs/setup/readme.md @@ -0,0 +1,33 @@ +# Hello from KuiToi Server + +## Start + +* Need **Python 3.10.x** to start! +* After cloning use this: +```bash +$ python3 --version # Python 3.10.6 +$ python3 main.py --help # Show help message +$ python3 main.py # Start server +``` + +## Setup + +* After starting server creating `kuitoi.yaml`; Default: +```yaml +!!python/object:modules.ConfigProvider.config_provider.Config +Auth: + key: null + private: true +Game: + map: gridmap_v2 + max_cars: 1 + players: 8 +Server: + debug: true + description: This server uses KuiToi! + name: KuiToi-Server + server_ip: 0.0.0.0 + server_port: 30814 +``` +* Server can't start without BEAM Auth.key +