4 Installation
Rainer edited this page 2025-07-21 20:45:30 +02:00

Installation

This guide will walk you through the process of setting up the Luanti-Web toolkit on a Debian-based Linux server (like Debian or Ubuntu).


1. Prerequisites

Before downloading the project files, you need to ensure that all required software packages (dependencies) are installed on your system.

Run the following commands to install all prerequisites using apt-get:

# Update your package list first
sudo apt-get update

# Install all required packages in one command
sudo apt-get install -y imagemagick libvips-tools gdal-bin python3-gdal sqlite3 bc jq

Manual Dependency:

  • minetestmapper: This tool is not available in standard repositories. You must download a compatible executable for your system and place it inside the project's root directory (e.g., /opt/luweb/minetestmapper).

After completing all setup steps, you can verify your installation by running the included dependency checker script.

2. Download Project Files

You have two options to get the project files:

  • Option A (Recommended for stable use): Download the latest release package from the project's Releases Page, and extract it to your desired base directory (we will use /opt/luweb in this guide).

  • Option B (For development): Clone the Git repository directly.

# Clone the repository into /opt/luweb
git clone https://git.geigernet.eu/rainer/luanti-web.git /opt/luweb

3. Set Permissions

After placing the files, navigate to the project directory and make all main scripts executable.

cd /opt/luweb
chmod +x generate_map.sh generate_site.sh check_server_status.sh check_dependencies.sh sync_players.sh sync_areas.sh sync_tpads.sh

4. Global Configuration

The central configuration file for the entire toolkit is config.sh. You must edit this file and adjust the paths to match your server's environment.

Key variables to edit in config.sh:

  • BASE_SCRIPT_DIR: The absolute path to the project's root directory (e.g., /opt/luweb).
  • MINETESTMAPPER_WORLD_DATA_BASE_PATH: The absolute path to the directory containing all your Minetest world data folders (e.g., /opt/minetest/worlds/).
  • WEB_ROOT_PATH: The absolute path to the document root of your website where the generated files will be placed (e.g., /var/www/yourdomain.com/html).
  • LOG_DIR_BASE: A directory where the scripts can write their log files (e.g., /var/log/luweb). Ensure the user running the scripts has write permissions to this directory.

5. Final Verification

Once you have completed the steps above, run the dependency checker from within the project directory to ensure everything is set up correctly.

./check_dependencies.sh

If this script completes with the message "Alle geprüften Abhängigkeiten sind vorhanden. Das System ist startklar." (All checked dependencies are present. The system is ready to go.), the installation is successful.

You can now proceed to the Configuration page to learn how to set up your individual worlds.