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.
- 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.
⚠️ 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
This repository has VSCode dev containers, making it possible to run the code effortlessly.
- Install Docker and the VSCode's Dev Containers extension.
- 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.
Read the commits for a comprehensive list of changes.
- wizguin - For creating Yukon and making this project possible.
Licensed under MIT License.