/lodestone_core

The backend for Lodestone, A free, open source server hosting tool for Minecraft and other multiplayers

Primary LanguageRustGNU Affero General Public License v3.0AGPL-3.0

Contributors Issues Build


Logo

Lodestone

Client for the Lodestone project
Website(Beta WIP) »

· Report Bug · Request Feature

!!Repo Deprecated!!

This repo is functionally deprecated in favour of the new mono repo: https://github.com/Lodestone-Team/lodestone

However, due to Lodestone CLI still pointing to this repo to fetch the latest releases, this repo is not archived.

Built With

  • Rust

(back to top)

Getting Started (end user)

You should not download Lodestone Core directly due to its lack of ability to self-update. Please use Lodestone CLI instead.

Using Docker Image

As of v0.4.3 we have added Docker support to lodestone core. Our precompiled images will be based on the newest release available from: ghcr.io/lodestone-team/lodestone_core. Alternatively, you may build your own image using the default Dockerfile, not additional arguments required.

Note You may add additional ports as you wish to forward, but 16662 is the default port served in the image. You may add a volume for your lodestone instance to be accessible, in the example below, you can create a volume first by using docker volume create lodestone.

Docker CLI example:

docker run -d \
  --name lodestone \
  --restart unless-stopped \
  -p 16662:16662 \
  -v lodestone:/home/user/.lodestone \
  ghcr.io/lodestone-team/lodestone_core

Docker Compose example:

Download the docker-compose.yml file from this repo using

wget https://raw.githubusercontent.com/Lodestone-Team/lodestone_core/main/docker-compose.yml

and then run it using

docker compose up -d

Alternatively, create docker-compose.yml yourself:

version: '3.8'
services:
  lodestone:
    container_name: lodestone
    image: ghcr.io/lodestone-team/lodestone_core
    restart: unless-stopped
    ports:
      - "16662:16662"
    volumes:
      - lodestone:/home/user/.lodestone

volumes:
  lodestone:

Getting Started (development)

Please make sure you have cargo and rustc, for instruction on how to install the Rust toolchain, see here: rustup.rs.

Prerequisites

These instructions apply to Ubuntu 20.04 LTS and later.

  • build-essential is required for the Rust toolchain.
    sudo apt-get install build-essential
  • pkg-config and libssl-dev are required to compile Axum
    sudo apt-get install pkg-config libssl-dev
  • cpuidtool is required to query CPU information
    sudo apt-get install cpuidtool libcpuid-dev
    A few other packages are needed to compile Lodestone
    sudo apt-get install libffi-dev libmagic-dev file

Installation

Running the client

  1. Clone the repo
    git clone https://github.com/Lodestone-Team/client
  2. By default Lodestone stores its data in ~/.lodestone. If you would like to override it for development & testing please define the LODESTONE_PATH environment variable to override it.
    export LODESTONE_PATH=~/test_dev
  3. Running
    cargo run --bin main

(back to top)

Contributing

Contribution is welcome, please join our Discord for more details.

(back to top)

License

This project uses the GNU Affero General Public License v3.0. See our LICENSE files for details. For an alternate (commercial) license, please raise an issue.

(back to top)

Credits

Active members of the Lodestone client team:

(back to top)