From cd8f599dd79095d928d0b7204373fab3c92da415 Mon Sep 17 00:00:00 2001 From: tim-moody Date: Wed, 16 Nov 2022 17:29:30 -0500 Subject: [PATCH 1/5] wip --- .../minetest/{tasks => NotUsed}/calc_vars.yml | 0 .../rpi_minetest_install.yml | 0 roles/minetest/README.rst | 2 ++ roles/minetest/defaults/main.yml | 18 +++++----- .../tasks/{provision.yml => install.yml} | 33 +------------------ roles/minetest/tasks/main.yml | 2 +- roles/minetest/tasks/minetest_install.yml | 10 ------ 7 files changed, 12 insertions(+), 53 deletions(-) rename roles/minetest/{tasks => NotUsed}/calc_vars.yml (100%) rename roles/minetest/{tasks => NotUsed}/rpi_minetest_install.yml (100%) rename roles/minetest/tasks/{provision.yml => install.yml} (64%) diff --git a/roles/minetest/tasks/calc_vars.yml b/roles/minetest/NotUsed/calc_vars.yml similarity index 100% rename from roles/minetest/tasks/calc_vars.yml rename to roles/minetest/NotUsed/calc_vars.yml diff --git a/roles/minetest/tasks/rpi_minetest_install.yml b/roles/minetest/NotUsed/rpi_minetest_install.yml similarity index 100% rename from roles/minetest/tasks/rpi_minetest_install.yml rename to roles/minetest/NotUsed/rpi_minetest_install.yml diff --git a/roles/minetest/README.rst b/roles/minetest/README.rst index 40ef4bc76..ac633d53b 100644 --- a/roles/minetest/README.rst +++ b/roles/minetest/README.rst @@ -2,6 +2,8 @@ Minetest README =============== +11/16/2022 THIS NEEDS REVISING + `Minetest `_ is a `Minecraft `_-inspired creative/explorational building blocks game, written from scratch and licensed under the LGPL (version 2.1 or later). It supports both survival and creative modes along with multiplayer support, dynamic lighting, and an "infinite" map generator. diff --git a/roles/minetest/defaults/main.yml b/roles/minetest/defaults/main.yml index 28f847046..052deed38 100644 --- a/roles/minetest/defaults/main.yml +++ b/roles/minetest/defaults/main.yml @@ -1,15 +1,13 @@ -# minetest_install: False -# minetest_enabled: False - -# minetest_port: 30000 -# minetest_server_admin: Admin - -# minetest_default_game: carbone-ng # only carbone-ng and minetest are supported -# minetest_flat_world: False - -# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# Other vars set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml # If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! # These should not be touched unless minetest packages change +minetest_server_bin: /usr/lib/minetest/minetestserver minetest_config_file: /etc/minetest/minetest.conf minetest_world_dir: /library/games/minetest/worlds/world + +minetest_runas_user: root +minetest_runas_group: root + +#minetest_runas_user: Debian-minetest +#minetest_runas_group: games diff --git a/roles/minetest/tasks/provision.yml b/roles/minetest/tasks/install.yml similarity index 64% rename from roles/minetest/tasks/provision.yml rename to roles/minetest/tasks/install.yml index ac63b5329..25c8e54ff 100644 --- a/roles/minetest/tasks/provision.yml +++ b/roles/minetest/tasks/install.yml @@ -1,6 +1,3 @@ -# Calculate local variables -- include_tasks: calc_vars.yml - - name: Check for Minetest world file ({{ minetest_world_dir }}/world.mt) stat: path: "{{ minetest_world_dir }}/world.mt" @@ -14,29 +11,8 @@ # group: root # mode: '0755' -# rpi only -- include_tasks: rpi_minetest_install.yml - when: not minetest_world.stat.exists and is_raspbian - -# not rpi - include_tasks: minetest_install.yml - when: not minetest_world.stat.exists and not is_raspbian - -- git: - repo: https://github.com/Calinou/carbone-ng.git - dest: "{{ minetest_game_dir }}" - depth: 1 - when: not minetest_world.stat.exists and minetest_default_game == "carbone-ng" - -- name: Give Minetest user ownership of carbone-ng - file: - state: directory - path: "{{ minetest_game_dir }}" - recurse: yes - owner: "{{ minetest_runas_user }}" - group: "{{ minetest_runas_group }}" - # mode: 0755 - when: minetest_default_game == "carbone-ng" + when: not minetest_world.stat.exists # Install games #- include_tasks: minetest_install_games.yml @@ -63,13 +39,6 @@ url: https://github.com/Uberi/Minetest-WorldEdit/archive/master.zip when: minetest_default_game == "minetest" -- name: Remove mod from carbone-ng that prevents our Admin name - file: - state: absent - path: "{{ minetest_game_dir }}/mods/name_restrictions" - when: minetest_default_game == "carbone-ng" - - # RECORD Minetest AS INSTALLED - name: "Set 'minetest_installed: True'" diff --git a/roles/minetest/tasks/main.yml b/roles/minetest/tasks/main.yml index f5fad6cd1..9955788d6 100644 --- a/roles/minetest/tasks/main.yml +++ b/roles/minetest/tasks/main.yml @@ -22,7 +22,7 @@ - block: - name: Install Minetest if 'minetest_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml - include_tasks: provision.yml # i.e. install.yml in other roles + include_tasks: install.yml when: minetest_installed is undefined - include_tasks: enable-or-disable.yml diff --git a/roles/minetest/tasks/minetest_install.yml b/roles/minetest/tasks/minetest_install.yml index 354907526..8cf943147 100644 --- a/roles/minetest/tasks/minetest_install.yml +++ b/roles/minetest/tasks/minetest_install.yml @@ -1,5 +1,3 @@ -# For non-rpi installs - - name: Install Minetest package package: name: minetest-server @@ -35,11 +33,3 @@ mode: 0755 with_items: - "{{ minetest_world_dir }}" - -- name: Change exec line in generated unit file - lineinfile: - path: /lib/systemd/system/minetest-server.service - regexp: "{{ item.regexp }}" - line: "{{ item.line }}" - with_items: - - { regexp: '^ExecStart=/usr/lib/minetest/minetestserver', line: 'ExecStart=/usr/lib/minetest/minetestserver --config /etc/minetest/minetest.conf --logfile /var/log/minetest/minetest.log --world "{{ minetest_world_dir }}"' } From cfdba34b641fc92e3fa0aae455065b264cc6928f Mon Sep 17 00:00:00 2001 From: tim-moody Date: Thu, 17 Nov 2022 09:36:26 -0500 Subject: [PATCH 2/5] forgot to commit default_vars.yml os vars not needed --- vars/default_vars.yml | 7 ++++++- vars/raspbian-11.yml | 9 --------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 9f656a926..c902a32fc 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -631,8 +631,13 @@ internetarchive_port: 4244 # for http://box:4244 minetest_install: False minetest_enabled: False minetest_port: 30000 +minetest_working_dir: /usr/share/games/minetest + minetest_server_admin: Admin -minetest_default_game: carbone-ng # only carbone-ng and minetest are supported +# minetest_default_game: carbone-ng # carbone-ng is not longer compatible so not supported +minetest_default_game: minetest +# minetest_default_game: dreambuilder - after 5.6 +minetest_game_dir: "{{ minetest_working_dir }}/games/{{ minetest_default_game }}" minetest_flat_world: False # Calibre-Web E-Book Library -- Alternative to Calibre, offers a clean/modern UX diff --git a/vars/raspbian-11.yml b/vars/raspbian-11.yml index bb74aca90..beb9c01ac 100644 --- a/vars/raspbian-11.yml +++ b/vars/raspbian-11.yml @@ -23,12 +23,3 @@ php_version: "7.4" postgresql_version: 13 systemd_location: /lib/systemd/system python_ver: "3.9" - -# Minetest for RPi -minetest_server_bin: /library/games/minetest/bin/minetestserver -minetest_working_dir: /library/games/minetest -minetest_game_dir: /library/games/minetest/games/minetest_game -minetest_rpi_src_tar: minetest.5.1.1.tar.gz -#minetest_rpi_src_url: "https://www.nathansalapat.com/downloads/{{ minetest_rpi_src_tar }}" -minetest_rpi_src_url: "{{ iiab_download_url }}/{{ minetest_rpi_src_tar }}" -minetest_rpi_src_untarred: Minetest From 28b345ab78bbf4cae04f30b60fff924c73a36b17 Mon Sep 17 00:00:00 2001 From: tim-moody Date: Thu, 17 Nov 2022 09:41:18 -0500 Subject: [PATCH 3/5] mark templates unused --- ...netest-server.service.j2 => minetest-server.service.j2.unused} | 0 .../templates/{minetest.conf.j2 => minetest.conf.j2.unused} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename roles/minetest/templates/{minetest-server.service.j2 => minetest-server.service.j2.unused} (100%) rename roles/minetest/templates/{minetest.conf.j2 => minetest.conf.j2.unused} (100%) diff --git a/roles/minetest/templates/minetest-server.service.j2 b/roles/minetest/templates/minetest-server.service.j2.unused similarity index 100% rename from roles/minetest/templates/minetest-server.service.j2 rename to roles/minetest/templates/minetest-server.service.j2.unused diff --git a/roles/minetest/templates/minetest.conf.j2 b/roles/minetest/templates/minetest.conf.j2.unused similarity index 100% rename from roles/minetest/templates/minetest.conf.j2 rename to roles/minetest/templates/minetest.conf.j2.unused From d5ad79720c26de7eda82e4172ab9f053a96e0039 Mon Sep 17 00:00:00 2001 From: tim-moody Date: Thu, 17 Nov 2022 11:56:18 -0500 Subject: [PATCH 4/5] fixes --- roles/minetest/tasks/install.yml | 14 +++++--------- vars/default_vars.yml | 2 +- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/roles/minetest/tasks/install.yml b/roles/minetest/tasks/install.yml index 25c8e54ff..1850eda84 100644 --- a/roles/minetest/tasks/install.yml +++ b/roles/minetest/tasks/install.yml @@ -23,20 +23,16 @@ # Install mods - include_tasks: minetest_install_mods.yml with_items: - - name: moreblocks - url: https://github.com/minetest-mods/moreblocks/archive/master.zip - - name: moreores - url: https://github.com/Calinou/moreores/archive/master.zip - name: basic_materials - url: https://gitlab.com/VanessaE/basic_materials/-/archive/master/basic_materials-master.zip + url: https://content.minetest.net/packages/VanessaE/basic_materials/releases/14936/download/ - name: mesecons - url: https://github.com/minetest-mods/mesecons/archive/master.zip + url: https://content.minetest.net/packages/Jeija/mesecons/releases/14247/download/ - name: digilines - url: https://github.com/minetest-mods/digilines/archive/master.zip + url: https://content.minetest.net/packages/Jeija/digilines/releases/13248/download/ - name: pipeworks - url: https://github.com/minetest-mods/pipeworks/archive/master.zip + url: https://content.minetest.net/packages/VanessaE/pipeworks/releases/7488/download/ - name: Minetest-WorldEdit - url: https://github.com/Uberi/Minetest-WorldEdit/archive/master.zip + url: https://content.minetest.net/packages/sfan5/worldedit/releases/13367/download/ when: minetest_default_game == "minetest" # RECORD Minetest AS INSTALLED diff --git a/vars/default_vars.yml b/vars/default_vars.yml index c902a32fc..888162e98 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -637,7 +637,7 @@ minetest_server_admin: Admin # minetest_default_game: carbone-ng # carbone-ng is not longer compatible so not supported minetest_default_game: minetest # minetest_default_game: dreambuilder - after 5.6 -minetest_game_dir: "{{ minetest_working_dir }}/games/{{ minetest_default_game }}" +minetest_game_dir: "{{ minetest_working_dir }}/games/{{ minetest_default_game }}_game" minetest_flat_world: False # Calibre-Web E-Book Library -- Alternative to Calibre, offers a clean/modern UX From 1f68641c71d09868ee3c65b7efd4fcec390c11dd Mon Sep 17 00:00:00 2001 From: tim-moody Date: Fri, 18 Nov 2022 09:01:46 -0500 Subject: [PATCH 5/5] update readme --- roles/minetest/README.rst | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/roles/minetest/README.rst b/roles/minetest/README.rst index ac633d53b..5d1afaba8 100644 --- a/roles/minetest/README.rst +++ b/roles/minetest/README.rst @@ -2,8 +2,6 @@ Minetest README =============== -11/16/2022 THIS NEEDS REVISING - `Minetest `_ is a `Minecraft `_-inspired creative/explorational building blocks game, written from scratch and licensed under the LGPL (version 2.1 or later). It supports both survival and creative modes along with multiplayer support, dynamic lighting, and an "infinite" map generator. @@ -32,7 +30,7 @@ If changes are necessary, please edit `/etc/iiab/local_vars.yml `_ +- ``minetest_default_game:`` only the default minetest game is supported at present; in future the default will be DreamBuilder - ``minetest_flat_world:`` use a flat mapgen engine to lower computation on client; default is False After installation, you can monitor the 'minetest-server' service with command:: @@ -44,17 +42,6 @@ File Locations - The config file is ``/etc/minetest/minetest.conf`` - The world files are at ``/library/games/minetest/worlds/world`` - -File Locations on Raspberry Pi ------------------------------- - -- The server binary is ``/library/games/minetest/bin/minetestserver`` -- The working directory is ``/library/games/minetest`` -- mods are in ``/library/games/minetest/games//mods`` - -File Locations on Other Platforms ---------------------------------- - - The server binary is ``/usr/lib/minetest/minetestserver`` - The working directory is ``/usr/share/games/minetest`` - mods are in ``/usr/share/games/minetest/games//mods`` @@ -62,6 +49,6 @@ File Locations on Other Platforms To Do ----- -- Add more mods — currently only the default mods are there in carbone-ng +- Add more mods - Add more games - Minetest client software for Windows and Android, included onboard IIAB for offline communities (`#1465 `_)