Hexeption / server

Next-gen server for Yukon

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Puffle Server

Puffle is a next-gen Yukon-inspired "any game" private server.

⚠️ Puffle is under development and one or more features of Yukon may not yet be available.
You can check the current status on the Projects tab.

πŸƒ Features

  • TypeScript: Uses TypeScript instead of JavaScript, getting all the benefits of the language.
  • Validation: Strong validation of all user input thanks to ajv.
  • Multi-threaded: Each world/server runs in its own node.js process efficiently.
  • Cache Manager: Various ways of storing the cache (like Redis). (Not yet implemented).
  • ORM: Thanks to Prisma, it is possible to use several types of databases.
  • Fastify: Uses the high-performance Fastify as a web server.
  • Configurable: Highly configurable through the use of JSON-based config files.

πŸš€ Deploy

⚠️ This code has breaking changes that make it incompatible with the Yukon client. A modified client can be found here.

The easiest way to deploy is by using Docker!
For your convenience, we have a repository with recommended Docker images and scripts to run a full copy of the client and server.
Jump to the Docker repository

πŸ› οΈ Develop

This repository has VSCode dev containers, making it possible to run the code effortlessly.

  1. Install Docker and the VSCode's Dev Containers extension.
  2. Start the container and install the Node dependencies inside the container (pnpm i).

You may need to edit the configuration file (config/config.json) to make Fastify run on any interface.

πŸ“ Changelog

Read the commits for a comprehensive list of changes.

πŸ‘ Acknowledgements

  • wizguin - For creating Yukon and making this project possible.

πŸ“œ License

Licensed under MIT License.

About

Next-gen server for Yukon

License:MIT License


Languages

Language:TypeScript 98.9%Language:JavaScript 1.0%Language:Dockerfile 0.1%