]>
apps.delaporte.us Git - dotfiles.git/blob - invoke/luanti/tasks.py
f2adcfd1042e60567cb244898266fb4690bacb73
1 from invoke
import task
6 home
= os
.path
.expanduser('~')
7 flat_pak_root
= f
"{home}/.var/app/net.minetest.Minetest"
8 root
= f
"{flat_pak_root}/.minetest"
9 mod_dir
= f
"{root}/mods"
10 easy_dir
= f
"{home}/minetest/"
11 run_mt
= f
"flatpak run net.minetest.Minetest"
12 world_dir
= f
"{root}/worlds"
13 scripts
= f
"{home}/ansible/luanti/remote"
16 link_to
= f
"{home}/.var/app/net.minetest.Minetest/.minetest"
18 # link_to = f"{home}/.minetest/"
22 result
= c
.run('which minetest')
27 print("Installing...")
28 # result = c.run('which minetest')
30 c
.run("sudo apt install flatpak")
31 c
.run("sudo apt install gnome-software-plugin-flatpak")
32 c
.run("flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo")
33 c
.run("flatpak install flathub net.minetest.Minetest -y")
34 result
= c
.run('which minetest')
35 print(f
"MineTest installed at {result.stdout}")
36 print("To run: flatpak run net.minetest.Minetest")
39 def restore_remote(c
, dir):
40 if not os
.path
.isdir(dir):
41 print(f
"No backups found at {dir}")
43 print(f
"Will restore MineTest backup from {dir}")
45 world_folder
= f
"{home}/minetest/worlds"
46 c
.run(f
"mkdir -p {world_folder}")
47 print("Restoring backed up worlds...")
48 c
.run(f
"mv {dir}/* {world_folder}")
54 print(f
"+ Minetest data assumed to be at {link_to}")
55 print(f
"+ Easy folder assumed to be {easy_dir}")
57 c
.run(f
"ls -ald {link_to} | grep minetest")
62 print(f
"+ List Games ---")
63 cmd
= f
"{run_mt} --gameid list"
72 print(f
"+ List Worlds ---")
73 cmd
= f
"{run_mt} --gameid minetest --worldlist path"
79 cmd
= f
"{run_mt} --version"
83 def serve(c
, world
="SurfaceWorld"):
84 cmd
= f
"{run_mt} --gameid minetest --server --worldname {world}"
88 def bkmod(c
, name
=None):
89 '''Save the current set of mods and create an empty mod directory.'''
91 name
= datetime
.datetime
.now().strftime("%Y%h%d%H%M")
92 c
.run(f
"mv {mod_dir} {root}/mods_{name}")
93 c
.run(f
"mkdir -p {mod_dir}")
98 '''Restore a backed up set of mods.'''
99 if len(os
.listdir(f
"{mod_dir}")) != 0:
100 bk
= datetime
.datetime
.now().strftime("%Y%h%d%H%M")
101 print(f
"Backed up non-emtpy mod dir to mods_{bk}.")
102 c
.run(f
"mv {mod_dir} {root}/mods_{bk}")
104 print("Removing empty mod dir.")
105 c
.run(f
"mkdir -p {mod_dir}")
106 c
.run(f
"mv {root}/mods_{name}/* {mod_dir}/")
107 print(f
"mods_{name} restored to mods")
111 c
.run(f
"ls {root}/mods")
116 c
.run(f
"ls {root}/mods/")
119 def logs(c
, lines
=20):
120 '''Output some logs'''
121 c
.run(f
"tail -n {lines} {root}/debug.txt")
124 def backup_remote(c
):
125 stopped
= input("Is the server stopped?")
127 print("so go stop the server...")
129 print("okay...backing up.")
130 c
.run(f
"{scripts}/do_luanti.sh {scripts}/backup.sh")
131 c
.run(f
"{scripts}/check_db.sh")
134 stopped
= input("Is the server stopped?")
136 print("so go stop the server...")
138 print("okay...backing up.")
139 c
.run(f
"{scripts}/do_luanti.sh {scripts}/backup.sh")
140 c
.run(f
"{scripts}/check_db.sh")
145 c
.run(f
"{scripts}/check_db.sh")