MT Boxes

From Minetest
Revision as of 20:26, 23 November 2023 by Poetry (talk | contribs)



Introduction

This page provides some documentation of interest mostly to admins of the Final Minetest VPS boxes.

VPS Box Admin 

Devel boxes as of 2023 

As of late 2023, there were 5 boxes of note:

newyork easter rabbit magazine ircsite

The details below may have changed since then. If the changes are too significant to edit in easily here, this page should be preserved and a new page should be added.

The boxes are expected to last long term though the hardware and IPV4 addresses may change.

"newyork" box as of 2023 

Informal "ssh" name: "newyork". This box runs Debian 11. It hosts primarily these things:

  1. The Final Minetest wiki site
  2. minetest.io and minetest.org websites
  3. Other websites
  4. Final Minetest worlds
  5. The Final Minetest master sources


"easter" box as of 2023 

Informal "ssh" name: "easter". This box runs Debian 11. It hosts primarily these things:

  1. Final Minetest worlds


"rabbit" box as of 2023 

Informal "ssh" name: "rabbit". This box runs Debian 11. It hosts primarily these things:

  1. git.minetest.io git repos


"magazine" box as of 2023 

Informal "ssh" name: "rabbit". This box runs Debian 11. It hosts primarily these things:

  1. A "Mail in a Box" email server
  2. Proposed: May hold Final Minetest worlds
  3. Proposed: May hold relocated IRC network


"ircsite" box as of 2023 

Informal "ssh" name: "ircsite". The contents of this box may be merged into "magazine" and this box may then be decommissioned. As of 2023, this is an older VPS. It runs Debian 10.

Domains and services:

irc.oldcoder.org goes to the "ircsite" box. The box runs IRC as ngircd on that domain and ports 6667 and 6697. The network created is known informally as CoderNet.

irc.minetest.org goes to the "ircsite" box as well. The box runs a website as nginx on that domain and port 443 [https]. nginx redirects that to "The Lounge" running on port 9000. The Lounge provides a web gateway to CoderNet.

An IRC bot named Limnoria is hosted here. It connects to various channels on multiple networks including CoderNet.

Anope runs here as well and provides IRC services such as ChanServ.

Some key pieces of "ircsite":

/etc/rc.local -- Post-boot script. If "ircsite" is updated to Debian 11 or above, a systemd tweak will be needed so that the script continues to run.

/opt/minebest/etc/bestboot.sh -- rc.local runs this script to finish boot-time operations.

nginx and ngircd are started automatically as system services. Anope, Limnoria and The Lounge need to be added to bestboot.sh. Presently, they are started as follows:

( cd /opt/anope/bin/ && ./services ) &

( usr/bin/python3 /usr/local/bin/supybot /root/supybot/Limnoria.conf --allow-root ) &

( node /usr/local/bin/thelounge start ) &

Compressed Filesystem 

Some of these boxes include the following file:

/loopdisks/cdisk.dat

The file contains a btrfs compressed filesystem. The filesystem is mounted automatically at boot time on "/mnt/cdisk/".

The file is too large to back up and this wouldn't be safe regardless. The contents of the filesystem need to be backed up in pieces much as the rest of the system is backed up.

On an SSD system with reasonable CPU and RAM, this approach offers extra albeit simulated disk space without much cost in terms of speed.

"/mnt/cdisk/" is used to hold websites, Final Minetest worlds, and other files that can benefit from compression. The directories stored in the loopback filesystem are symlinked to where scripts expect to find them.

Dash-Ell Directory 

Some of these boxes include a directory named "/l" (dash lower-case ell). This directory is used to make CLI navigation easier. It contains symlinks such as the following:

/l/log       # Symlink to Final MT log directory
/l/assemble  # Symlink to "assemble" source tree
/l/mtworlds  # Symlink to Final MT "mtworlds" tree

So, for example, to go to the log directory in CLI, you can use this command:

cd /l/log

In cases where tab completion is possible, this may speed up CLI navigation significantly.

Internet Archive access tool 

As of Fall 2023, the link below worked and pointed to a Python binary script:

https://ia800702.us.archive.org/27/items/ia-pex/ia

If the script was installed on Debian 11 and chmod'd to 755, it provided CLI access to Internet Archive. The following command configured the tool:

ia configure

A command similar to the following could then be used to upload a tarball to Internet Archive [where it would be downloadable by the public]:

ia upload \
--metadata=mediatype:software \
Final_Minetest_Assemble minetest-assemble-231123.tgz

The uploader needed to enter some information manually using the Internet Archive web GUI. This included original creator, original date, and description.

The "Final_Minetest_Assemble" string in this example specified a unique and unchangeable item ID.

To replace the uploaded file, without deleting the item ID, one could do this:

ia delete Final_Minetest_Assemble
# repeat the ia upload

Warning: If one deleted the item ID at the GUI level, it was then gone forever.

End of page