anegostudios / VintageStory-Issues

Vintage Story's public issue tracker for reporting bugs, crashes and the like
47 stars 16 forks source link

Export/import schematics is limited to only small parts of the world. #3327

Open petrnowak opened 11 months ago

petrnowak commented 11 months ago

Game Version

v1.19.0 - Dejank Redux (1.19.0-pre.10)

Platform

Windows

Modded

Vanilla

SP/MP

Singleplayer

Description

I can export world selection 1000 x 1000 height 255 to file (over 200 MB - depends on world place). I takes usually about 30-60 sec (server unreachable during this time). I try to import this file. I enter filename (game reacts "file name valid"). I try to paste schematics into the world (at start position). It takes some time. Result: only some cutout of the schematics is pasted, typically size about 250x250 and moreover this 250x250 part is cutted in circular way at the opposite corner to the start position.

This behaviour is the same in Singleplayer as in Multiplayer (in Multiplayer it's a little bit more complicated because downloading/uploading schematic file deserves some time dependently on server connection speed).

Is it a bug ? Is it some limitation - direct (like hardcoded size limit) or indirect (like limited by player distance visibility or similar...) ?

Are you able to correct this or remove limitations?

This behaviour is the same throughout many version: 1.16, 1.17, 1.18 and now 1.19 too...

Explanation: we are multiplayer server. Some of our players need to copy paste their buldings from old map 1.17 to new resetted map. Its very important for us. If the server is unreachable during export/import it's not a problem. Even if this operation would be executed offline (on stopped server, by some external utility) this is not a problem for us. We simply need to transfer some old worlds parts into new world map whatever method we'll use....

How to reproduce

Mark world selection 1000 x 1000 height 255. Export it to the schematics file. Import this schematic file and paste it (at start position) somewhere in the world (pasting at height 0-1 necessary because of schematic height = 255).

Screenshots

image

Logs

Log

Th3Dilli commented 11 months ago

Currently the limitation for this is that we only export/import data form loaded chunks so the best way to workaround this for now is to increase the MaxChunkRadius and your view distance so you can see all the chunks,

will see how we possibly can improve this system to maybe automatically load them if needed

petrnowak commented 10 months ago

I've tried to extend MaxChunkRadius to 25 (from 14). I'set my client visibility to 512. I'm not able to paste world part 220x220 height 255. Impossible. There should be some other limitation(s) in the code. Maybe bug.

What is interesting that I get message "XXXXX blocks was exported to schematics file" but the size of the schematics file isn't related to number of blocks. Example: Message "4000000 blocks was exported" - the file size is 225 kB. Thats strange. Does algorithm count all blocks in selected area including air? And air blocks aren't exported at all. That would explain this.

Th3Dilli commented 1 month ago

there where some issues with importing areas larger then 511 in any direction, this is now fixed, also there is new command to import larger schematics

change log:

the xx blocks exporte message shows the entire cube while in the schematic only none air block will be