[Solved] Restoring server causes entire world to regenerate

Post Reply
natey2000
New member
Posts: 9
Joined: Wed Mar 12, 2025 01:41
GitHub: natey2000

[Solved] Restoring server causes entire world to regenerate

by natey2000 » Post

Hi there, I'm hosting a private server with my friends on docker and something went wrong and I'm trying to restore a backup. The docker image I'm using is from https://docs.linuxserver.io/images/docker-luanti/

This back up contains everything in the main folder (games, main-config, mod_data, mods, worlds, debug.txt)
When I restore the backup. Everything shows up as it should, but then everything in the world starts gradually reverting to when the world initially started. I'm assuming the world is trying to regenerate the map, but how do I stop that from happening?

Any help would be appreciated, thanks.

Here is the log messages after the restore, I stopped this after almost everything disapeared.
[migrations] started
luantiRestore | [migrations] no migrations found
luantiRestore | ───────────────────────────────────────
luantiRestore |
luantiRestore | ██╗ ███████╗██╗ ██████╗
luantiRestore | ██║ ██╔════╝██║██╔═══██╗
luantiRestore | ██║ ███████╗██║██║ ██║
luantiRestore | ██║ ╚════██║██║██║ ██║
luantiRestore | ███████╗███████║██║╚██████╔╝
luantiRestore | ╚══════╝╚══════╝╚═╝ ╚═════╝
luantiRestore |
luantiRestore | Brought to you by linuxserver.io
luantiRestore | ───────────────────────────────────────
luantiRestore |
luantiRestore | To support LSIO projects visit:
luantiRestore | https://www.linuxserver.io/donate/
luantiRestore |
luantiRestore | ───────────────────────────────────────
luantiRestore | GID/UID
luantiRestore | ───────────────────────────────────────
luantiRestore |
luantiRestore | User UID: 1000
luantiRestore | User GID: 1000
luantiRestore | ───────────────────────────────────────
luantiRestore | Linuxserver.io version: 5.11.0-ls7
luantiRestore | Build-date: 2025-02-23T21:55:09+00:00
luantiRestore | ───────────────────────────────────────
luantiRestore |
luantiRestore | [custom-init] No custom files found, skipping...
luantiRestore | 2025-03-12 02:58:50: [Main]: Automatically selecting world at [/config/.minetest/worlds/world]
luantiRestore | 2025-03-12 02:58:50: [Main]: Using game specified by --gameid on the command line
luantiRestore | 2025-03-12 02:58:50: ERROR[Main]: The following mods could not be found: "mesecons_doors"
luantiRestore | [Mod] Death Messages [0.1.4] [death_messages] Loaded...
luantiRestore | 2025-03-12 02:58:50: ACTION[Main]: [MOD] Spears loaded with throwing speed 13 and drag coeff. 0.1
luantiRestore | 2025-03-12 02:58:50: ACTION[Main]: [hopper] Hopper mod loaded
luantiRestore | [MOD] Built-in Item loaded
luantiRestore | 2025-03-12 02:58:50: ACTION[Main]: [MOD] Animalia [0.6] loaded
luantiRestore | 2025-03-12 02:58:50: ACTION[Main]: MOD: Biofuel loading...
luantiRestore | 2025-03-12 02:58:50: ACTION[Main]: MOD: Biofuel version 0.9 loaded.
luantiRestore |
luantiRestore | Powered by
luantiRestore |
luantiRestore | ██╗██████╗
luantiRestore | ██║╚════██╗
luantiRestore | ██║ █████╔╝
luantiRestore | ██║ ╚═══██╗
luantiRestore | ██║██████╔╝
luantiRestore | ╚═╝╚═════╝
luantiRestore |
luantiRestore | [Mod] everness loaded.. [0.132453s]
luantiRestore | The 'mobs_monster' mod is not enabled.
luantiRestore | [MOD] Mob Biome Mapper loaded
luantiRestore | 2025-03-12 02:58:51: WARNING[Main]: Server: ignoring file as it has disallowed characters: "_Read Me.txt"
luantiRestore | _ _ _
luantiRestore | | |_ _ __ _ _ __ | |_(_)
luantiRestore | | | | | |/ _` | '_ \| __| |
luantiRestore | | | |_| | (_| | | | | |_| |
luantiRestore | |_|\__,_|\__,_|_| |_|\__|_|
luantiRestore | 2025-03-12 02:58:52: ACTION[Main]: World at [/config/.minetest/worlds/world]
luantiRestore | 2025-03-12 02:58:52: ACTION[Main]: Server for gameid="minetest" listening on 0.0.0.0:30000.
luantiRestore | 2025-03-12 02:58:56: WARNING[Server]: Map::getNodeMetadata(): Block not found
luantiRestore | 2025-03-12 02:59:13: ACTION[Server]: nate [192.168.0.222] joins game. List of players: nate
luantiRestore | 2025-03-12 02:59:13: WARNING[Server]: Deprecated "hud_elem_type" field, use "type" instead. (at (load):18)
luantiRestore | 2025-03-12 02:59:13: WARNING[Server]: Deprecated "hud_elem_type" field, use "type" instead. (at (load):138)
luantiRestore | 2025-03-12 02:59:13: WARNING[Server]: Deprecated call to set_bone_position, use set_bone_override instead (at /config/.minetest/mods/3d_armor_flyswim/init.lua:457)
luantiRestore | 2025-03-12 02:59:13: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:chicken')
luantiRestore | 2025-03-12 02:59:13: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:reindeer')
luantiRestore | 2025-03-12 02:59:13: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:opossum')
luantiRestore | 2025-03-12 02:59:13: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'hp_max' in entity 'sum_airship:boat')
luantiRestore | 2025-03-12 02:59:13: WARNING[Server]: Deprecated call to get_bone_position, use get_bone_override instead (at /config/.minetest/mods/animalia/api/api.lua:121)
luantiRestore | 2025-03-12 02:59:13: WARNING[Server]: Deprecated call to set_bone_position, use set_bone_override instead (at /config/.minetest/mods/animalia/api/api.lua:138)
luantiRestore | 2025-03-12 02:59:13: WARNING[Server]: Undeclared global variable "sum_air_currents" accessed at /config/.minetest/mods/sum_airship/balloon.lua:342
luantiRestore | 2025-03-12 02:59:24: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:pig')
luantiRestore | 2025-03-12 02:59:24: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:cow')
luantiRestore | 2025-03-12 02:59:24: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:horse')
luantiRestore | 2025-03-12 02:59:24: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:sheep')
luantiRestore | 2025-03-12 02:59:30: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:bat')
luantiRestore | 2025-03-12 02:59:30: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:turkey')
luantiRestore | 2025-03-12 02:59:35: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:owl')
luantiRestore | 2025-03-12 02:59:38: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:tropical_fish')
luantiRestore | 2025-03-12 02:59:39: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:fox')
luantiRestore | 2025-03-12 02:59:39: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:wolf')
luantiRestore | 2025-03-12 02:59:41: WARNING[Server]: Server: Maximum lag peaked at 1.43798 (steplen=0.09)
luantiRestore | 2025-03-12 02:59:41: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:frog')
luantiRestore | 2025-03-12 02:59:44: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:song_bird')
luantiRestore | 2025-03-12 03:00:08: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'physical' in entity 'animalia:cat')
luantiRestore | 2025-03-12 03:00:21: ACTION[Server]: [Creatura] [ABM Spawning] Spawned 2 animalia:frog at (-108,1,157)
luantiRestore | 2025-03-12 03:00:21: ACTION[Server]: [Creatura] [ABM Spawning] Spawned 1 animalia:frog at (-152,1,184)
luantiRestore | 2025-03-12 03:00:26: WARNING[Server]: Server: Maximum lag peaked at 1.42116 (steplen=0.09)
luantiRestore | 2025-03-12 03:00:28: ERROR[Server]: suspiciously large amount of objects detected: 264 in (-20,0,13); removing all of them.
luantiRestore | 2025-03-12 03:00:30: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'collisionbox' in entity 'animalia:tied_lasso_entity')
luantiRestore | 2025-03-12 03:00:30: WARNING[Server]: Reading initial object properties directly from an entity definition is deprecated, move it to the 'initial_properties' table instead. (Property 'pointable' in entity 'animalia:lasso_entity')
luantiRestore | 2025-03-12 03:00:48: WARNING[Server]: Server: Maximum lag peaked at 2.02169 (steplen=0.09)
luantiRestore | 2025-03-12 03:00:55: WARNING[Server]: Server: Maximum lag peaked at 3.32045 (steplen=0.09)
luantiRestore | 2025-03-12 03:00:55: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:01:15: ACTION[Server]: [Creatura] [ABM Spawning] Spawned 6 animalia:song_bird at (-80,12,8)
luantiRestore | 2025-03-12 03:01:31: ACTION[Server]: nate digs mesecons_lightstone:lightstone_green_off at (-56,17,188)
luantiRestore | 2025-03-12 03:01:35: ACTION[Server]: nate places node mesecons_lightstone:lightstone_green_off at (-56,17,188)
luantiRestore | 2025-03-12 03:01:58: ACTION[Emerge-0]: [Everness] Mineral Waters Tower was placed at (-227, 4, 176)
luantiRestore | 2025-03-12 03:01:58: ACTION[Emerge-0]: [Everness] Loot chests inventory populated at (-226, 9, 176) (-226, 17, 178)
luantiRestore | 2025-03-12 03:02:06: WARNING[Server]: Server: Maximum lag peaked at 2.53374 (steplen=0.09)
luantiRestore | 2025-03-12 03:02:06: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:02:18: ACTION[Emerge-0]: [Everness] Loot chests inventory populated at (-291, 4, 153)
luantiRestore | 2025-03-12 03:02:33: WARNING[Server]: Server: Maximum lag peaked at 2.73866 (steplen=0.09)
luantiRestore | 2025-03-12 03:02:33: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:02:50: ACTION[Server]: [Creatura] [ABM Spawning] Spawned 3 animalia:cow at (-9,36,142)
luantiRestore | 2025-03-12 03:02:56: ACTION[Emerge-0]: [Everness] Loot chests inventory populated at (90, -10, 185)
luantiRestore | 2025-03-12 03:03:07: WARNING[Server]: Server: Maximum lag peaked at 3.02242 (steplen=0.09)
luantiRestore | 2025-03-12 03:03:07: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:03:18: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:03:27: ACTION[Emerge-0]: [Everness] Japanese Shrine was placed at (-225, 9, 100)
luantiRestore | 2025-03-12 03:03:27: ACTION[Emerge-0]: [Everness] Loot chests inventory populated at (-221, 11, 100)
luantiRestore | 2025-03-12 03:03:29: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:03:35: ACTION[Server]: nate digs wool:blue at (-107,2,130)
luantiRestore | 2025-03-12 03:03:40: ACTION[Emerge-0]: [Everness] Coral Forest Deep Ocean House was placed at (-96, -11, 288)
luantiRestore | 2025-03-12 03:03:40: ACTION[Emerge-0]: [Everness] Loot chests inventory populated at (-98, 2, 288)
luantiRestore | 2025-03-12 03:03:44: ACTION[Server]: nate places node wool:blue at (-141,9,212)
luantiRestore | 2025-03-12 03:04:01: WARNING[Server]: Server: Maximum lag peaked at 2.44599 (steplen=0.09)
luantiRestore | 2025-03-12 03:04:08: WARNING[Server]: Server: Maximum lag peaked at 3.1369 (steplen=0.09)
luantiRestore | 2025-03-12 03:04:08: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:04:10: ACTION[Emerge-0]: [Everness] Loot chests inventory populated at (90, -10, 185)
luantiRestore | 2025-03-12 03:04:21: ACTION[Emerge-0]: [Everness] Coral Forest Deep Ocean House was placed at (-96, -11, 288)
luantiRestore | 2025-03-12 03:04:21: ACTION[Emerge-0]: [Everness] Loot chests inventory populated at (-96, 2, 286)
luantiRestore | 2025-03-12 03:04:30: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:04:42: WARNING[Server]: Server: Maximum lag peaked at 3.16741 (steplen=0.09)
luantiRestore | 2025-03-12 03:04:42: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:04:52: ACTION[Emerge-0]: [Everness] Coral Forest Deep Ocean House was placed at (-96, -11, 288)
luantiRestore | 2025-03-12 03:04:53: ACTION[Emerge-0]: [Everness] Loot chests inventory populated at (-93, 2, 288)
luantiRestore | 2025-03-12 03:04:55: WARNING[Server]: Map::getNodeMetadata(): Block not found
luantiRestore | 2025-03-12 03:04:55: WARNING[Server]: Map::getNodeMetadata(): Block not found
luantiRestore | 2025-03-12 03:05:00: WARNING[Emerge-0]: Map::setNodeTimer(): Block not found
luantiRestore | 2025-03-12 03:05:00: WARNING[Emerge-0]: Map::setNodeTimer(): Block not found
luantiRestore | 2025-03-12 03:05:00: WARNING[Emerge-0]: Map::setNodeTimer(): Block not found
luantiRestore | 2025-03-12 03:05:00: WARNING[Emerge-0]: Map::setNodeTimer(): Block not found
luantiRestore | 2025-03-12 03:05:09: WARNING[Server]: Server: Maximum lag peaked at 3.09492 (steplen=0.09)
luantiRestore | 2025-03-12 03:05:09: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:05:14: ACTION[Emerge-0]: [Everness] Loot chests inventory populated at (90, -10, 185)
luantiRestore | 2025-03-12 03:05:18: ACTION[Server]: [Creatura] [ABM Spawning] Spawned 4 animalia:cow at (29,23,136)
luantiRestore | 2025-03-12 03:05:21: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:05:31: WARNING[Server]: collisionMoveSimple: maximum step interval exceeded, lost movement details!
luantiRestore | 2025-03-12 03:05:33: ACTION[Server]: [Creatura] [ABM Spawning] Spawned 7 animalia:tropical_fish at (54,-6,259)
luantiRestore | 2025-03-12 03:05:33: ACTION[Emerge-0]: [Everness] Coral Forest Deep Ocean House was placed at (46, -11, 248)
luantiRestore | 2025-03-12 03:05:33: ACTION[Emerge-0]: [Everness] Loot chests inventory populated at (44, 2, 248)

User avatar
Blockhead
Moderator
Posts: 2795
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Re: Restoring server causes entire world to regenerate

by Blockhead » Post

What database backend does this container use? If it's PostgreSQL, then the database lives in a different place, outside of .minetest. But you did say your backup seemed to restore the modified state, then revert it. I'm reminded of the thread Problems with update. In that instance, the server was also reverting world/terrain to the default generation, but the backup was taken while the server was online. Was yours taken online or offline?
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

natey2000
New member
Posts: 9
Joined: Wed Mar 12, 2025 01:41
GitHub: natey2000

Re: Restoring server causes entire world to regenerate

by natey2000 » Post

Blockhead wrote:
Wed Mar 12, 2025 04:30
What database backend does this container use? If it's PostgreSQL, then the database lives in a different place, outside of .minetest. But you did say your backup seemed to restore the modified state, then revert it. I'm reminded of the thread Problems with update. In that instance, the server was also reverting world/terrain to the default generation, but the backup was taken while the server was online. Was yours taken online or offline?
1. After some digging, I figured out my backend used in the container is sqlite3.
2. Yes, The backup looks like it restored everything properly. Here's how the "disappearing act" goes, everything loads within whatever the radius of the player is as normal, standing there, nothing happens. Give it some time, when I leave, either by logging off or flying away, and come back, whatever blocks that loaded in my radius previously gets reverted.
3. I looked at the thread you mentioned, some of the differences I noticed is that I'm trying to restore to the same game version and my backup was only a day old.
4. My server was taken offline for the backup. I'm using docker compose to manage my servers, and my backup script brings docker compose down every time to perform a backup, then brings it back up after it finishes.
Last edited by natey2000 on Thu Mar 13, 2025 00:36, edited 1 time in total.

natey2000
New member
Posts: 9
Joined: Wed Mar 12, 2025 01:41
GitHub: natey2000

Re: Restoring server causes entire world to regenerate

by natey2000 » Post

Some further details that may help:
All my items, achievements, and waypoints still exist and work properly.

One other thing I've tried is deleting the game on my personal computer and reinstalling it entirely, then restoring the backup on my server and running the server again, ensuring there was nothing cached on my computer. I'm Still getting the same results.

I can post a reduced version of my backup script and/or docker compose file if that would help.

Bastrabun
Member
Posts: 244
Joined: Mon Nov 04, 2019 19:48

Re: Restoring server causes entire world to regenerate

by Bastrabun » Post

Any chance your sqlite database is readonly?
Whatever I say is CC0

natey2000
New member
Posts: 9
Joined: Wed Mar 12, 2025 01:41
GitHub: natey2000

Re: Restoring server causes entire world to regenerate

by natey2000 » Post

Bastrabun wrote:
Thu Mar 13, 2025 19:07
Any chance your sqlite database is readonly?
That could be possible. Docker compose is executed with sudo, so I'm not sure if that would be an issue. I may be wrong. Here is the permissions when I list them from the "world" folder:

Code: Select all

-rw-r--r-- 1 user user             32768 Mar  9 23:22 auth.sqlite
-rw-r--r-- 1 user user                 154 Mar  4 17:48 beds_spawns
-rw-r--r-- 1 user user                 409 Oct 19 14:57 cleaner.json
-rw-r--r-- 1 user user               1385 Mar 13 13:20 env_meta.txt
-rw-r--r-- 1 user user                     9 Feb 14 16:20 force_loaded.txt
-rw-r--r-- 1 user user                     0 Feb 14 16:20 ipban.txt
-rw-r--r-- 1 user user               3665 Oct 19 14:57 map_meta.txt
-rw-r--r-- 1 user user   7707942912 Mar 11 03:00 map.sqlite
-rw-r--r-- 1 user user                 156 Feb 14 16:20 mesecon_actionqueue
-rw-r--r-- 1 user user           229376 Mar 13 13:20 mod_storage.sqlite
-rw-r--r-- 1 user user                   16 Oct 19 14:57 newplayer-keywords.txt
-rw-r--r-- 1 user user               2598 Oct 19 14:57 newplayer-rules.txt
-rw-r--r-- 1 user user           135168 Mar 10 01:39 players.sqlite
-rw-r--r-- 1 user user               2382 Oct 19 14:57 world.mt
Just to try it out, I changed all permissions so that everything in this folder is set to all permissions "-rwxrwxrwx" with a clean slate restore and I'm still running into the same issue.

Bastrabun
Member
Posts: 244
Joined: Mon Nov 04, 2019 19:48

Re: Restoring server causes entire world to regenerate

by Bastrabun » Post

Does the size of your map.sqlite change? Looking at the file date, env_meta.txt looks more recent than the last change made to your map. Something cannot store. Check available space and anything that would inhibit it from writing. To make sure the setup in general works, you could also move it out of the container and run the world on a client.
Whatever I say is CC0

natey2000
New member
Posts: 9
Joined: Wed Mar 12, 2025 01:41
GitHub: natey2000

Re: Restoring server causes entire world to regenerate

by natey2000 » Post

Bastrabun wrote:
Fri Mar 14, 2025 11:44
Does the size of your map.sqlite change? Looking at the file date, env_meta.txt looks more recent than the last change made to your map. Something cannot store. Check available space and anything that would inhibit it from writing. To make sure the setup in general works, you could also move it out of the container and run the world on a client.
Restoring the backup locally on my machine with plenty of space. I can confirm I get the same results, even with all mods disabled. (Except for the ones that come default with Minetest game.) I can also confirm the map.sqlite changes. It grew bigger after almost everything revered.

Looking at my backup, "env_meta.txt" is about 2 minutes newer than "map.sqlite" although that may be due to the backup making changes it at 3 AM when the backup occurs.

Just for fun, I deleted the "env_meta.txt" to let the game regenerate it and I still have the same issue.

natey2000
New member
Posts: 9
Joined: Wed Mar 12, 2025 01:41
GitHub: natey2000

Re: Restoring server causes entire world to regenerate

by natey2000 » Post

I attempted to restore the world locally by creating a word with the "singlenode" mapgen and restored everything except for the mods and the "world.mt" and "map_meta.txt" files. After trying this, everything will still vanish BUT nothing will regenerate. Most of the world turns into empty space. I'm still at a loss why this is happening, Any help here would be appreciated. Thanks in advance.

User avatar
Mantar
Member
Posts: 678
Joined: Thu Oct 05, 2017 18:46
Contact:

Re: Restoring server causes entire world to regenerate

by Mantar » Post

Singlenode generates a world of nothing but air by default
Lead dev of Exile, git repo: https://codeberg.org/Mantar/Exile

natey2000
New member
Posts: 9
Joined: Wed Mar 12, 2025 01:41
GitHub: natey2000

Re: Restoring server causes entire world to regenerate

by natey2000 » Post

Mantar wrote:
Sun Apr 20, 2025 19:58
Singlenode generates a world of nothing but air by default
Yes, I understand. The reason I attempted to "import" the world this way was to see if I can restore it without completely regenerating, unfortunately that is not the case. The result here as opposed to prior attempts was the world reverted to "air" instead of the mapgen v7 seed. The question is, what setting or parameter can I change that will prevent the entire world from regenerating? Is there something I need to change in the map.sqlite DB to make it maintain it's state? I have backed up the entire Luanti folder, so I have everything, but it just reverts whenever I try to restore.

natey2000
New member
Posts: 9
Joined: Wed Mar 12, 2025 01:41
GitHub: natey2000

Re: Restoring server causes entire world to regenerate

by natey2000 » Post

Here's an update. I have made sure there are no pending transactions in any of the .sqlite DBs and that all permissions are given in all the files of the "world" folder (chmod 777). Not only does the world revert from the previous state, but all new changes also revert as well. It seems like nothing is getting saved.

When I started the server, here was some warnings that came up, maybe this might also help?

Code: Select all

2025-05-04 19:41:37: WARNING[ServerStart]: Item definition table was reused between registrations. This is unsupported and broken: default:obsidian_letter_7d
2025-05-04 19:41:37: WARNING[ServerStart]: Item definition table was reused between registrations. This is unsupported and broken: stairs:stair_outer_desert_sandstone_brick
2025-05-04 19:41:37: WARNING[ServerStart]: Item definition table was reused between registrations. This is unsupported and broken: default:tree_letter_il
2025-05-04 19:41:37: WARNING[ServerStart]: Item definition table was reused between registrations. This is unsupported and broken: default:silver_sandstone_brick_nanoslab
2025-05-04 19:41:37: WARNING[ServerStart]: Item definition table was reused between registrations. This is unsupported and broken: default:obsidian_letter_bl
2025-05-04 19:41:37: WARNING[ServerStart]: Item definition table was reused between registrations. This is unsupported and broken: default:coral_skeleton_nanoslab
(and several, several lines more of the same warning, different blocks)

natey2000
New member
Posts: 9
Joined: Wed Mar 12, 2025 01:41
GitHub: natey2000

Re: Restoring server causes entire world to regenerate

by natey2000 » Post

SOLVED! I have determined the issue lies with map.sqlite. A small portion of the DB has been corrupted.

To verify this, I installed sqlite3 package on my Debian Linux PC and ran in a terminal in the world directory:

Code: Select all

sqlite3 map.sqlite 'PRAGMA integrity_check;'
If it returns anything other than "ok", there is an issue. Furthermore, this can be used to check the other 3 sqlite DBs as well.

Since this is my only backup, my only option was to dump the data and make a new one without the malformed data.
The following is entered into the Linux terminal inside the world folder:

Rename the suspected database:

Code: Select all

mv map.sqlite mapOld.sqlite
Make a dump of the data:

Code: Select all

sqlite3 mapOld.sqlite .dump > mapRecovery.sql
Read (and execute) the dump to create a new database without the malformed data:

Code: Select all

sqlite3 map.sqlite
sqlite3> .read mapRecovery.sql
After some time went by, it completed and printed this error:
Runtime error near line 16634661: UNIQUE constraint failed: blocks.pos (19)
Regardless, the new map.sqlite passed the integrity check.

To exit:

Code: Select all

sqlite3> .quit
After the recovery, everything in the world seems to restore properly (except a portion of my base, I'm assuming part of it became corrupted.) Nothing is reverting and any new blocks placed are saved. Woohoo!!!

Huge thanks to SQL Docs for posting this article on how to fix a malformed SQLite DataBase: https://sqldocs.org/sqlite-database/sql ... malformed/

As a few others have stated earlier in this thread (thank you all), If it seems to be a permissions issue, I would recommend checking out this article, from SQL Docs too: https://sqldocs.org/sqlite-database/sql ... is-locked/

I hope these articles and this forum thread will be helpful to anyone else who may run into this issue.

Have a great day!

User avatar
Blockhead
Moderator
Posts: 2795
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Re: [Solved] Restoring server causes entire world to regenerate

by Blockhead » Post

That's excellent to hear that you have a solution. I was worried we'd never track down and fix this one. Hopefully this helps others in future.
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests