Knowledge Base

Preserving for the future: Shell scripts, AoC, and more

Walkthrough my Luanti config

Of course a Luanti config will vary from server to server. Here's mine, and my reasons.

  • server_address is a good example of how to use my customizations to project Server List. My docker container exposes whatever the default port would be, but my router exposes a different port. My internal server list parses out the server_address port and uses that to advertise this Luanti server.
  • remote_media depends on a basic remote media server which is not hard to do.
  • list_to_file.listing_seconds and craft_wool. These depend on my catch-all mod for myself in a branch not published to ContentDB. Well, listing_seconds is part of the published one. Every 60 seconds, list the users logged in to a local file, for separate reporting purposes. Craft_wool turns on a recipe for crafting wool from string, like in Minetest Game, which is mostly for my usage of the recycle bin mod (described later) and getting string for another important-to-me mod Inventory Pouches (scm: upstream which is out of date, and my branch.
  • For leads, I wanted to easily tow my stubborn animals into a pasture instead of them trailing 8 blocks behind me. Also, I had to tweak the strength and length so that the game did not crash. I think the default values, or at least some values somewhere, tend to crash the game server.
  • I wanted to have maximum possibilities when recycling items, with mod k_recycle_bin (scm).
  • k_ambient_light.global_illumination Before I discovered mod mcl_localplayer which has recently fixed night vision (which I still haven't tested, and might not be fully merged into Mineclonia yet, but hopefully for >= 0.116.1), I found mod k_ambient_light (scm). This lets you make every* block a light source, so you can actually wander around without wasting tons and tons of torches. Yes, it breaks realism, but it's already a blocky game and not real.
  • molten_sailor_mcl.durability_seconds Lets you set the amount of seconds your lava suit (scm) chestplate lasts when protecting you from lava. I worked very hard to make it work for arbitrary numbers of seconds, but then for my own server I wanted it to last forever!
  • mcl_enable_csm and enable_client_modding. You need these to tell Mineclonia and the customized Luanti client to use the client-side mod mcl_localplayer, which adds various useful effects and features.

files/2025/listings/minetest.conf (Source)

# File: minetest.conf for Avengers1 instance
# Not strictly useful in a server conf, but this was copied from my desktop instance.
name = bgstack15
# Server pretty name
server_name = Avengers1
# Server description
server_description = Superheroes play here!
# The $<port> is my addition
server_address = www.example.com$30020
# My custom landing page for this server
server_url = https://www.example.com/games/luanti/avengers1
# Publish to the serverlist
server_announce = true
# Which serverlist? Mine.
serverlist_url = http://server3/games/luanti/serverlist
# Use http which is faster than native Luanti UDP-based protocol
remote_media = https://www.example.com/games/luanti/media/
ipv6_server = true
enable_ipv6 = true
enable_remote_media_server = true
# Mineclonia keep inventory upon death
mcl_keepInventory = true
# Allow signs to be editable. Why would you not?
mcl_signs_editable = true
# These boring, empty Minetest dungeons still provide a little enjoyment even in Mineclonia.
mcl_enable_mt_dungeons = true
# How often to publish list of users to a file on the server
list_to_file.listing_seconds = 60
# Allow 4 string to craft a block of wool, like MTG
list_to_file.craft_wool = true
# Very short leads
leads.lead_length = 2
# Strong pull effect
leads.pull_force = 50
# No harrassing other players!
leads.allow_leash_player = false
# Yes, we want to build those POI blocks
mapserver.enable_crafting = true
# Performance?! NMP.
mapserver.send_interval = 1
# Tune recycle bin mod to give as much random stuff and as much free stuff as possible.
k_recyclebin.group_item_mapping_sample_size = 30
k_recyclebin.partial_recycling_minimum_ratio = 1.0
k_recyclebin.leftover_freebies_chance = 1.0
# We really trust these mods.
secure.http_mods = mapserver, mtui
# Unqualified hostname because it is another container running in same docker-compose network.
# Necessary to show real-time user locations
mapserver.url = http://mapserver5:8080
mapserver.key = SECRET9Et3ErNzL
# Base light level, from the dark times before mod mcl_localplayer
k_ambient_light.global_illumination = 4
# Web console
mtui.url = http://ui5:8080
mtui.key = SECRET82398kakfiwk
# Dunno, probably from my research on fixing the snowfall pattern
weather_allow_abm = true
# Lava suit lasts forever
molten_sailor_mcl.durability_seconds = 0
# Enable mcl_localplayer (requires the custom fork of Luanti)
mcl_enable_csm = true
enable_client_modding = true
Icon adapted under license from https://www.iconarchive.com/show/outline-icons-by-iconsmind/File-Settings-icon.html

Comments