(*≧ω≦*) Preparing for 0.3.0 release!

~ README revised
~ updated Docker files
+ all const are placed in a separate file
+ auto creation for avatars folder
+ automatic retrieval of the latest Figura version for version request in api
This commit is contained in:
Shiroyasha 2024-08-19 22:54:45 +03:00
parent d45a495cbf
commit dabe176e0e
Signed by: shiroyashik
GPG key ID: E4953D3940D7860A
13 changed files with 355 additions and 224 deletions

View file

@ -4,36 +4,52 @@
Unofficial backend V2 for the Minecraft mod [Figura](https://github.com/FiguraMC/Figura).
Implements Ping transmission functionality via Websocket and full avatar upload and download functionality. Currently incomplete and under active development
Is a worthy replacement for the official version. Realized all the functionality that can be used during the game.
And also a distinctive feature is the possibility of player identification through the third-party authorization system [Ely.By](https://ely.by/)
And also a distinctive feature is the possibility of player identification through third-party authentication providers (such as [Ely.By](https://ely.by/))
## Usage
## Launch
### Docker
To run it you will need a configured reverse proxy server.
You will need an already configured Docker with Traefik (you can use any reverse proxy)
1. Create avatars folder (it will store player avatars)
2. Copy Config.example.toml and rename it to Config.toml
3. Copy docker-compose.example.yml and rename to docker-compose.yml
4. Open docker.compose.yml and uncomment the "labels" to work with Traefik and add the container to the network with Traefik.
5. `docker compose up -d` this will build and run the container with
### Native
Running this way you won't need WSL when running on Windows, but....
To do this, you will need to reverse proxy port 6665 to your domain with SSL
1. Create avatars folder (it will store player avatars)
2. Copy Config.example.toml and rename it to Config.toml
3. Set up your reverse proxy server
4. `cargo run`
Make sure that the reverse proxy you are using supports WebSocket and valid certificates are used for HTTPS connections.
> [!IMPORTANT]
> NGINX requires additional configuration to work with websocket!
### Docker
For the template you can use [docker-compose.example.yml](docker-compose.example.yml)
It assumes you will be using Traefik as a reverse proxy, if so uncomment the lines and add Sculptor to the network with Traefik.
Copy [Config.example.toml](Config.example.toml) change the settings as desired and rename to Config.toml
That's enough to start Sculptor.
### Pre-Built
See the [pre-built archives](https://github.com/shiroyashik/sculptor/releases/latest)
### Build from source
A pre-installed Rust will be required for the build
```sh
# Clone the latest release
git clone https://github.com/shiroyashik/sculptor.git
# or a dev release
git clone --branch dev https://github.com/shiroyashik/sculptor.git
# Enter the folder
cd sculptor
# Copy Sculptor configuration file
cp Config.example.toml Config.toml
# Edit configuration file for your needs
nano Config.toml
# Build it in release mode for better performance
cargo build --release
```
## Public server
[![Server status](https://up.shsr.ru/api/badge/1/status?upLabel=Online&downLabel=Offline&label=Server+status)](https://up.shsr.ru/status/pub)
@ -45,3 +61,25 @@ You can use it if running your own Sculptor instance is difficult for you.
> figura.shsr.ru
For reasons beyond my control, the server is not available in some countries.
## Contributing
If you have ideas for new features, have found a bug, or want to suggest improvements,
please create an [issue](https://github.com/shiroyashik/sculptor/issues)
or contact me directly via Discord (@shiroyashik).
If you are a Rust developer, you can modify the code yourself and request a Pull Request:
1. Fork the repository.
2. Create a new branch for your features or fixes.
3. Submit a PR.
Glad for any help from ideas to PRs.
#### P.S.
The [“master”](https://github.com/shiroyashik/sculptor/tree/master) branch contains the source code of the latest release. A [“dev”](https://github.com/shiroyashik/sculptor/tree/dev) branch is used for development.
## License
The Sculptor is licensed under [GPL-3.0](LICENSE)