Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Status of Block Scan #1

Open
Lagosaurus opened this issue May 7, 2017 · 34 comments
Open

Status of Block Scan #1

Lagosaurus opened this issue May 7, 2017 · 34 comments

Comments

@Lagosaurus
Copy link

Hey Mike,

What's the current status of the new scraper? Been messing about with 1.10 packs and the missing Dynmap models are fairly extensive. I'd be happy to test things out if you need any help.

@brad18
Copy link

brad18 commented May 7, 2017

I'd be happy to test things too. I can see it doing stuff on launch but can't seem find any info on what to do. Does it output a file?

@mikeprimm
Copy link
Member

I'll be getting more active on this later this week - I've been in the middle of a 1.11.2 migration/upgrade for the server I admin (and do much of the custom development for), which has also served as 'research' to better understand how to do what I want to accomplish with the BlockScan code (which will ultimately be part of Dynmap - its just a research mod right now). Ultimately, I'm hopeful to be able to handle MOST of post 1.8 mods 'automatically', by parsing the block state and model data contained within the mods - but its a BIG piece of work, with a lot to happen before there is anything to test.

@mikeprimm
Copy link
Member

mikeprimm commented Jun 29, 2017

OK - this now is DOING something :) It isn't even close to done, but many/most solid cube blocks provided by any mod should now render (including blocks like logs and such that have simple rotation patterns). To use try this out (it's only on Forge 1.11.2 right now):

I'm eventually planning on combining DynmapBlockScan into the base Dynmap v3.0, but for now, it's a whole lot more convenient to keep them separate (for dev/debug, and to avoid not breaking Dynmap too bad while its being developed).

At this moment, the code would probably work fine on Dynmap 2.5 or later, but I'll be starting to hack on the Dynmap 3.0 APIs to support the needs from the DynmapBlockScan publication of blocks (basically, that is what is happening here : DynmapBlockScan does analysis of blocks, their blockstate JSON data, their model JSON data, and the mapping of their BlockState definitions in order to 'derive' rendering models to publish to Dynmap through it's 'modsupport' API - which causes temporary texture and model definition files to be created (under 'renderdata/modsupport' directory). So, if any of you are familiar with those files, you can see what was mapped/published, and how, by looking there after the server has started.

@NJDaeger
Copy link

NJDaeger commented Jul 3, 2017

Will this be available for Bukkit as well?

@mikeprimm
Copy link
Member

Eventually, sure - the 'handling custom block automatically' thing is a lot less interesting there, but the 'final' version will also include handling of custom block models in RPs (including vanilla), and should handle new vanilla blocks without explicit changes MOST of the time.

The latest version of DynmapBlockScan is, as of this morning, a LOT more functional: it should be doing a pretty fair job of handling both solid blocks, cuboid-style block, and patch-based blocks, which should be most blocks. Blocks that are not trivial metadata mapped (that is, one model per metadata value) will be funky at times (stairs, doors, fences, etc), but they should still render. Next big step will be tying in the custom blockstate mappers, which are needed for those kinds of blocks to work (and will ultimately be the limit on handling custom blocks with very odd state).

@mikeprimm
Copy link
Member

I've added a 1.12 build - http://www.dynmap.us/builds/DynmapBlockScan/DynmapBlockScan-3.0-alpha-1-forge-1.12.jar for DynmapBlockScan, http://www.dynmap.us/builds/DynmapForge/Dynmap-HEAD-3.x-forge-1.12.jar for DynmapForge v3.x. These are even more lightly tested than the 1.11.2 - I'll still be doing most dev and testing on 1.11.2, since there are more mods there, but for anyone brave enough to want to give 1.12 a try, there you go!

@mikeprimm
Copy link
Member

We now have builds for 1.10.2, 1.11.2, and 1.12 - all the latest can be found under http://www.dynmap.us/builds/DynmapBlockScan . All depend on the latest DynmapForge 3.x builds from under http://www.dynmap.us/builds/DynmapForge for the corresponding version.

@durand1w
Copy link

I deployed the 1.10.2 versions on our server. It seems like the fullrender completed far faster, but maybe that is just my perception. Most mod blocks look good, far better than the dead forest look we had.

The few issues I wanted to report are that it doesn't appear to apply the block scan to non-standard dimension....ex: MoCreatures Wyvern Lair DIM-17. The scan runs without issues, but only vanilla blocks show.

The other block type that 'might' be broadly applicable would be for plants using the crossed texture.

@SalmonSays
Copy link

I've got 3.0 alpha 1 of both BlockScan and Dynmap running on a 1.11.2 server; it's a modified version of ATM2 and I'm thrilled to see it's running as intended with working textures for important stuff like Biomes o' Plenty! It's really cathartic to see the proper terrain without large black spots that we'd gotten so used to on previous versions of Dynmap. The one important mod that didn't appear to stick during the scan is Chisel, any word on workarounds/support?

@wunder-bread
Copy link

Attempted the 1.10.2 versions of Dynmap & Block scan. Server loads about 75% and just shuts down. No crash log, and nothing in the logs. Just stops. Any guidance on next steps? Would be much appreciated.
forge-1.10.2-12.18.3.2281-universal
spongeforge-1.10.2-2281-5.2.0-BETA-2558

@vScourge
Copy link

I know it's getting older, but can we expect builds for MC 1.7.10? I could offer our server/players up for testing if that helps.

@mikeprimm
Copy link
Member

It literally cannot work on pre-1.8 builds: the whole basis of BlockScan is to work off of the data-driven (JSON-encoded) rendering data for blocks that most blocks use, starting as of 1.8. Pre 1.8 block models are all 'in code'.

@Zelow79
Copy link

Zelow79 commented Oct 1, 2017

Tried to run BlockScan on FTB Beyond 1.11 and 1.10 (both are MC version 1.10.2) each with previous installations and fresh installations, all resulted in the server crashing. I made an issue report here, #11.

@Sixdd6
Copy link

Sixdd6 commented Dec 3, 2017

Trying to use the alpha1 for 1.12.2 and getting a crash.

crash report
server latest log

@VLange80
Copy link

VLange80 commented Jan 28, 2018

@mikeprimm Great work so far on block scan. A note, it's not rendering chisel blocks in 1.12.2. Modpack i am using (the one i am working on) is here: https://www.curseforge.com/minecraft/modpacks/chaos-portal-modpack
edit: also my dynmap can be seen here: http://minecraft.chaosportalshow.com:8123

@BillyGalbreath
Copy link

Looks good so far. Only thing I've noticed not working (showing as black) are forge liquids.

@mikeprimm
Copy link
Member

mikeprimm commented Feb 17, 2018

Chisel support is unlikely to come from DynmapBlockScan - anything that does custom renderers vs using the standard JSON-based model scheme is pretty much hand-coded support (and I really cannot find the time to reverse engineer Chisel and recreate their rendering logic in Dynmap...). There is still a load of work needed to finish the block state support for the stock blocks (stairs, fences, walls, doors, etc) that involve non-trivial logic (for things like figuring out which block state to use depending upon neighboring blocks) - that'll get priority until they are all done, since 90%+ of custom blocks use the JSON-based models and are either trivial or based on stock block behaviors.

@ThaDaVos
Copy link

ThaDaVos commented Mar 8, 2018

@mikeprimm maybe contact the mod-authors, you'll never know if they are willing to help if you don't ask :D

@ThaDaVos
Copy link

ThaDaVos commented Mar 8, 2018

Getting an exception when trying a fullrender:
https://gist.github.com/dvdbot/fb05d6a01b0fabe56b372c95c2267046
Had to copy the console because the error isn't in the log

also tried one of the nether and the error may be a bit better:
https://gist.github.com/dvdbot/c7d6fd2ddc2ec051d7a677fc8f7107f2
Also copy of console

#EDIT I'm playing Forever Stranded Lost Souls - May be handy to know if you want to test yourself

@ThaDaVos
Copy link

ThaDaVos commented Mar 8, 2018

I looked into your code :D and I think the following is null on line 1219 in DynmapCore/TexturePack.java : tp.tile_argb === null

@ThaDaVos
Copy link

ThaDaVos commented Mar 8, 2018

Made my own issue: #19

@ThaDaVos
Copy link

Good news - Chisel will eventually be using full vanila json models :D
Chisel-Team/Chisel#656

@Ashakiwi
Copy link

Am I not looking in the right spot? I didn't see any 3.x versions of dynmap on the link provided. >.<

@Routhinator
Copy link

Routhinator commented Jan 29, 2019

I keep getting this with Beta-1 + DynmapForge 3.0 beta 3

[05:12:54] [Server Watchdog/FATAL] [minecraft/ServerHangWatchdog]: A single server tick took 60.00 seconds (should be max 0.05)
[05:12:54] [Server Watchdog/FATAL] [minecraft/ServerHangWatchdog]: Considering it to be crashed, server will forcibly shutdown.

It happens as the blocks are initially scanned, producing many lines of this:

[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/endstone_2.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/endstone_3.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/endstone_4.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/netherbrick_0.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/netherbrick_1.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/netherrack_0.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/netherrack_1.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/marble_0.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/marble_1.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/marble_2.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/marble_3.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/marble_4.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/limestone_0.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/limestone_1.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/limestone_2.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/limestone_3.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/limestone_4.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/basalt_0.json : Failed to open blockstate
[05:12:53] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/basalt_1.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/basalt_2.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/basalt_3.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/basalt_4.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/plate_iron_0.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/plate_iron_1.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/bronze_0.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/tin_0.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_chisel:assets/corail_pillar_extension_chisel/blockstates/copper_0.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_quark:assets/corail_pillar_extension_quark/blockstates/quark_block_0.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_quark:assets/corail_pillar_extension_quark/blockstates/quark_block_1.json : Failed to open blockstate
[05:12:54] [Server thread/INFO] [DynmapBlockScan]: [DynmapBlockScan] corail_pillar_extension_quark:assets/corail_pillar_extension_quark/blockstates/quark_stained_planks_0.json : Failed to open blockstate


This is in 1.12.2

@Routhinator
Copy link

Was able to work around this by disabling max-tick-time in server.properties, but seems odd it should lock the thread that long.
For those that need the setting: max-tick-time=-1

@Fallouthero
Copy link

Question, I ran this and it fixed almost everything. One major issue I'm running into is on Project Red Basalt blocks. They still won't render. Any ideas?

@Routhinator
Copy link

@Ashakiwi http://www.dynmap.us/releases/

@Routhinator
Copy link

@Fallouthero if they are showing the Failed to open blockstate message for the blocks on startup its because they are not using the JSON-based model scheme as Mike mentioned. That's a won't fix. Open a ticket with Project Red and ask them to use the standard model system to improve their compatibility with Dynmap

@Ashakiwi
Copy link

@Routhinator I cannot give you enough <3s. Haha thanks

@ghost
Copy link

ghost commented Jul 7, 2019

What about chisel ? I have the same issue with latest build, and they said me to come here :/

@ThaDaVos
Copy link

What's the progress on this? Currently download the latest DynMap Forge build from the builds repo version beta-6 for 1.12.2

@Exymat
Copy link

Exymat commented Feb 28, 2020

I'm interested too!

@CryptoSiD
Copy link

CryptoSiD commented May 30, 2021

Hi!

I've been able to "compile" DynmapBlockScan for Forge 1.16.5 from this repo: https://git.kalka.io/kalka/dynmapblockscan
I had to adjust the versions in some files but it compiled properly.
However, it's not working properly with "All The Mods 6".

Looks like the mods rats and ratlantis are causing issues so I cloned the minecraft server, deleted the map, removed rats and ratlantis mods, and tried to starts the server with dynmapblockscan but it's still scanning after 8 hours! (the server have 64GB of memory and 24 core)

I also have this server that only has 48 mods and I've been able to do a full scan with dynmapblockscan: https://minecraft.donsid.net/
Some blocks are still not getting rendered properly though, there's a lot of errors during the scan.

Just wondering if anyone got this working properly with 1.16.5 and "All The Mods 6"?

And second, is there any plan to make this mod works properly with 1.16.5?

@SalmonSays
Copy link

SalmonSays commented May 30, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests