142 lines
3.5 KiB
Markdown
142 lines
3.5 KiB
Markdown
<h1>Minetest on the TFGrid</h1>
|
|
|
|
<h2>Table of Contents</h2>
|
|
|
|
- [Introduction](#introduction)
|
|
- [Prerequisites](#prerequisites)
|
|
- [Deploy a Full VM](#deploy-a-full-vm)
|
|
- [DNS Settings](#dns-settings)
|
|
- [DNS Verification](#dns-verification)
|
|
- [Run a Minetest Server on the TFGrid](#run-a-minetest-server-on-the-tfgrid)
|
|
- [Run Minetest Locally](#run-minetest-locally)
|
|
- [Access the Server from Minetest](#access-the-server-from-minetest)
|
|
- [Public Server Notes](#public-server-notes)
|
|
- [References](#references)
|
|
|
|
---
|
|
|
|
## Introduction
|
|
|
|
We show how to deploy a Minetest server on the TFGrid, install Minetest on a local machine and access the Minetest server from the local machine.
|
|
|
|
![](./img/minetest_1.png)
|
|
|
|
## Prerequisites
|
|
|
|
- [A TFChain account](dashboard@@wallet_connector)
|
|
- TFT in your TFChain account
|
|
- [Buy TFT](threefold_token@@buy_sell_tft)
|
|
- [Send TFT to TFChain](threefold_token@@tft_bridges)
|
|
|
|
## Deploy a Full VM
|
|
|
|
We start by deploying a full VM on the ThreeFold Dashboard.
|
|
|
|
* On the [Threefold Dashboard](https://dashboard.grid.tf/#/), go to the [full virtual machine deployment page](https://dashboard.grid.tf/#/deploy/virtual-machines/full-virtual-machine/)
|
|
* Deploy a full VM (Ubuntu 22.04) with an IPv4 address and at least the minimum specs for a full VM
|
|
* Network
|
|
* Set IPv4 Address (required)
|
|
* Set Wireguard (optional)
|
|
* Minimum vcores: 1vcore
|
|
* Minimum MB of RAM: 512MB
|
|
* Minimum storage: 15GB
|
|
* After deployment, note the VM IPv4 address
|
|
* SSH into the VM
|
|
```
|
|
ssh root@vm_ipv4_address
|
|
```
|
|
|
|
|
|
## DNS Settings
|
|
|
|
You need to set an A record for the IPv4 address.
|
|
|
|
The following table explicitly shows how to set the A record for your domain. Note that we set `minetest` as a subdomain.
|
|
|
|
| Type | Host | Value |
|
|
| ---- | ---- | -------------- |
|
|
| A | minetest | <ipv4_address> |
|
|
|
|
|
|
You will then be able to access your server on Minetest with the URL `minetest.example.com:30033`. More on the port below.
|
|
|
|
### DNS Verification
|
|
|
|
You can use tools such as [DNSChecker](https://dnschecker.org/) or [dig](https://linux.die.net/man/1/dig) on a terminal to check if the DNS propagadation is complete.
|
|
|
|
|
|
- Check that the subdomain resolves to the IPv4 address of the full VM
|
|
```
|
|
minetest.example.com
|
|
```
|
|
|
|
## Run a Minetest Server on the TFGrid
|
|
|
|
|
|
- Install the Minetest server
|
|
```
|
|
apt update
|
|
apt install minetest-server -y
|
|
```
|
|
- Set the Minetest server
|
|
```
|
|
nano /etc/minetest/minetest.conf
|
|
```
|
|
- Update the following lines
|
|
```
|
|
server_name = Server Name
|
|
|
|
server_address = http://minetest.example.com
|
|
|
|
server_announce = true
|
|
|
|
port = 30033
|
|
```
|
|
- Run the Minetest server
|
|
```
|
|
minetestserver --worldname world
|
|
```
|
|
|
|
## Run Minetest Locally
|
|
|
|
- Update the local machine
|
|
```
|
|
apt update
|
|
```
|
|
- Install Minetest
|
|
```
|
|
apt install flatpak -y
|
|
apt install gnome-software-plugin-flatpak -y
|
|
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
```
|
|
- Reboot the machine
|
|
- Install Minetest
|
|
```
|
|
flatpak install flathub net.minetest.Minetest
|
|
```
|
|
- Run Minetest
|
|
```
|
|
flatpak run net.minetest.Minetest
|
|
```
|
|
|
|
## Access the Server from Minetest
|
|
|
|
- On Minetest, go to the server you previously set
|
|
|
|
![](./img/minetest_2.png)
|
|
|
|
- You can then access the Minetest world!
|
|
|
|
![](./img/minetest_3.png)
|
|
|
|
## Public Server Notes
|
|
|
|
Once you set the Minetest server publicly, you can see it displayed on https://servers.minetest.net/.
|
|
|
|
- Example of publicly available server
|
|
|
|
![](./img/minetest_4.png)
|
|
|
|
## References
|
|
|
|
For further information on Minetest, read the [Minetest documentation](https://wiki.minetest.net/Main_Page). |