diff --git a/README.md b/README.md index 0c87f02..03b1867 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,14 @@ # mc-beta-server [![CodeFactor](https://www.codefactor.io/repository/github/tgpholly/mc-beta-server/badge/typescript)](https://www.codefactor.io/repository/github/tgpholly/mc-beta-server/overview/typescript) [![Node.js CI](https://github.com/tgpholly/mc-beta-server/actions/workflows/node.js.yml/badge.svg?branch=typescript)](https://github.com/tgpholly/mc-beta-server/actions/workflows/node.js.yml) me trying to understand minecraft beta's protocol - + - [Running the server](#running-the-server) + - ~~[Running from a release](#running-from-a-release)~~ + - [Building yourself](#building-yourself) + - [Setting up for development](#setting-up-for-development) + +
+ +Minecraft landscape with trees and ocean **Implemented:** - Basic flat terrain generation @@ -30,3 +37,35 @@ me trying to understand minecraft beta's protocol **Long Term:** - Make this as fast as possible on a single thread. - Only use thread pools if absolutely neccesary. + +
+ +## Running the server +``` +**** Heads Up! **** +This server is under pretty heavy development with most likley breaking changes, I will try my best to keep compatibility in the save formats (or provide migration paths) with updates but cannot guarentee it. +``` +To use the server either grab a [release](https://github.com/tgpholly/mc-beta-server/releases/latest) or build it yourself. + +### Running from a release +~~When using a release all you need to do is run the executable you get from the download.~~ + +### Building yourself +To build the server yourself clone the repo and run +``` +npm i +npm run build +``` +This will automatically build the server and pack it into a single js file, you'll find your resulting js file in the `./build` folder. + +## Setting up for development +To run the server simply clone the repo, and run: +``` +npm i +``` +Copy the [`config.example.json`](https://github.com/tgpholly/mc-beta-server/blob/typescript/config.example.json) to `config.json` and edit how you want it, then run: +``` +npm run dev:run +``` +You are now running a server locally! +When running the server with `npm run dev:run` it is running with nodemon, this means that the server will auto restart as you edit. \ No newline at end of file diff --git a/config.example.json b/config.example.json new file mode 100644 index 0000000..ab03a6a --- /dev/null +++ b/config.example.json @@ -0,0 +1,6 @@ +{ + "port": 25565, + "maxPlayers": 20, + "saveCompression": "DEFLATE", + "worldName": "world" +} \ No newline at end of file