webbukkit / dynmap

A set of Minecraft mods that provide a real time web-based map system for various Minecraft server implementations.
https://www.reddit.com/r/Dynmap/
Apache License 2.0
2.06k stars 419 forks source link

Support for 1.13 (Spigot & Forge)? #2271

Closed smmmadden closed 5 years ago

smmmadden commented 6 years ago

Tried with today's spigot server build for 1.13 and started up my test server to see which plugins may be broken. 23:01:37 INFO]: [dynmap] Loading dynmap v3.0-SNAPSHOT-Dev201802140139 [23:01:37 INFO]: [dynmap] version=git-Spigot-ed1cec9-1c7adf7 (MC: 1.13) [23:01:37 ERROR]: [dynmap] Unable to find field temperature for net.minecraft.server.v1_13_R1.BiomeBase [23:01:37 ERROR]: [dynmap] Unable to find field humidity for net.minecraft.server.v1_13_R1.BiomeBase [23:01:37 ERROR]: [dynmap] Unable to find field y for net.minecraft.server.v1_13_R1.BiomeBase [23:01:37 INFO]: [dynmap] Unload queue not found - default to unload all chunks [23:01:37 INFO]: [dynmap] inhabitedTicks field not found - inhabited shader not functional [23:01:37 ERROR]: Error initializing dynmap - bukkit version incompatible! initializing dynmap v3.0-SNAPSHOT-Dev201802140139 (Is it up to date?) java.lang.IllegalArgumentException: Error initializing dynmap - bukkit version incompatible! at org.dynmap.bukkit.BukkitVersionHelperGeneric.(BukkitVersionHelperGeneric.java:157) ~[?:?] at org.dynmap.bukkit.BukkitVersionHelperCB.(BukkitVersionHelperCB.java:39) ~[?:?] at org.dynmap.bukkit.BukkitVersionHelper.getHelper(BukkitVersionHelper.java:42) ~[?:?] at org.dynmap.bukkit.DynmapPlugin.onLoad(DynmapPlugin.java:769) ~[?:?] at org.bukkit.craftbukkit.v1_13_R1.CraftServer.loadPlugins(CraftServer.java:318) [spigot-1.13-22-July-2018.jar:git-Spigot-ed1cec9-1c7adf7] at net.minecraft.server.v1_13_R1.DedicatedServer.init(DedicatedServer.java:213) [spigot-1.13-22-July-2018.jar:git-Spigot-ed1cec9-1c7adf7] at net.minecraft.server.v1_13_R1.MinecraftServer.run(MinecraftServer.java:686) [spigot-1.13-22-July-2018.jar:git-Spigot-ed1cec9-1c7adf7] at java.lang.Thread.run(Unknown Source) [?:1.8.0_181]

smmmadden commented 6 years ago

That's good to know as I have one section near spawn that looks like the world didn't generate correctly but I went to it and it's all ocean and looks fine in game. image Once I'm done regenerating the maps, I'll try the force option for wb and see if it completes where the fullrender did not.

smmmadden commented 6 years ago

no luck with the force option for me after a full render. Still seeing the blank blocks shown above. I can zoom in and see individual blocks that having been converted yet, but this whole section near spawn and land is over areas where other similar blocks have processed/rendered fine. In the surface map of the same section shown below, it could be possible that the black is just unconverted blocks and will eventually fill in with an updaterender when they are. image

dwilley83 commented 6 years ago

I've had these on my test world and /wb fill would not fill it in. I had to go to each affected area in game and load the chunks that way. When I rendered the map again those areas filled in on the map. It's most likely a WorldBorder issue and not a Dynmap issue.

lagnat commented 6 years ago

Seeing blank areas too. Full render didn’t help and I’m not interested in doing /wb fill. I did test making a change to a missing chunk and dymap rendered it just fine so some issue with full render?

smmmadden commented 6 years ago

thanks @dwilley83 - right you were. I flew over one of the sections and Dynmap generated perfectly fine (bottom portion of black is now gone). Great catch! image

dwilley83 commented 6 years ago

Also had noticed that some of the chunks have generated weird after using /wb fill. The terrain (aside from missing chunks on the map) generated ok but when the trees were populated it cut them off at the chunk borders. I'm not too educated on how chunks are loaded but it's almost as if the chunks were loaded, the chunk next to the one with the tree in it was deleted and regenerated, and did not put the trees leaves in that regenerated chunk. I don't really know how to explain it but it seems like WorldBorder is working but needs an update to 1.13. I'd be interested in getting a 1.13 development build of WorldBorder and filling the chunks again to see what it does.

smmmadden commented 6 years ago

are you using the 1.8.7 version of WorldBorder? I'm using that on Spigot 1.13 build of 8/18 and not seeing that behavior. Perhaps server specific issue?

xplekterx commented 6 years ago

Hi guys, mine is all black, why is that?

image

ghost commented 6 years ago

@xplekterx typ in console "dynmap fullrender". Without the "". It takes some time to render it all.

xplekterx commented 6 years ago

@cyperus will it render everything or just the "discovered" or "unseen" parts? Been playing on the server for two years so quite a bit should be visible, put don't want everything to be visible.

ghost commented 6 years ago

@cuperus It will only render the parts where u have been. It needs to load the chuncks.

dwilley83 commented 6 years ago

@smmmadden i am using WorldBorder 1.8.7. I don't know what would be causing it on the server. I could try it without any other plugins loaded to see what happens but I don't see what any of my other plugins have to do with running /wb fill and it also did not happen in 1.12-1.12.2 from what I can tell.

I'm also not the only one having the tree issue. There is a bug report for it on the WorldBorder GitHub by someone else. I could try updating to the latest Spigot 1.13 build, since I have no idea what version I was on when I filled the chunks, delete the world, and rerun it to see if it's fixed.

smmmadden commented 6 years ago

@dwilley83 from the console, just type in ver to find out if you're on the current one and if not, go ahead and build it so it is current.
It sounds like you're trying to run this on an existing world (=1.12.2 or earlier map), which may/may not work yet. I'm testing on a newly created map since I want the players to have all the latest world generations of 1.13. I'm not even going to attempt at upgrading existing maps given the extensive changes to 1.13.

One option to try if you have WorldEdit, is to run the /regen command on the area where it didn't generate correctly. Select the area in question with the wooden axe (assuming the config.yml is using default of wand-item: minecraft:wooden_axe). If the map generates correctly and fixes that chunk, it is most likely an issue with updating the map to 1.13.

dwilley83 commented 6 years ago

@smmmadden it's a Spigot 1.13 generated world but I do not know how many Spigot versions ago it was generated in. I'm just testing things at the moment so nothing in the world will be lost. I'm going to try regenerating the entire world, /wb fill, and rendering the map again to see if any errors occur.

smmmadden commented 6 years ago

Thanks - at least we can rule that out. :-) Run the version command to see how many builds you might be behind before rebuilding in case its been fixed in a later build. image

fichdlmaa commented 6 years ago

Hello Mike & DynMap-Team, here some screenshots to demonstrate your good progress. mc-ingame20180820 mc-dynmap20180820 dynmap20180820-1 dynmap20180820-2

Keep on the good work! Thank you !!!

FichdlMaa

dwilley83 commented 6 years ago

@smmmadden I've already updated to the latest version earlier this morning, moved the old world folders to make new ones, and it's currently running /wb fill. I'll check it out this evening when I get home to see if the trees are generated right this time.

souldin commented 6 years ago

Has he released a newer update from the one we got 2 weeks ago? for all the block updates?

dwilley83 commented 6 years ago

He commented about it above. According to that the latest would have been released 15 hours ago. I updated last night.

smmmadden commented 6 years ago

@souldin it's the same url he posted above but here it is: http://dynmap.us/builds/dynmap-1.13_prep/dynmap-3.0-1.13_prep-HEAD.jar

kelso6969 commented 6 years ago

Updated to latest edge, now get this in web developer tools (blank black page). I updated the web files after a restart and now get a blank black screen. Viewing console in web dev tools, I see some errors. In minecraft console, no errors on load, everything looks good there. Using latest spigot from BuildTools as of this morning.

GET https://www.mydomain.com/dynmap/standalone/config.js?_=3.0-SNAPSHOT-43 404 (Not Found)
(index):43 Uncaught ReferenceError: config is not defined
    at HTMLDocument.<anonymous> ((index):43)
    at fire (jquery-1.11.0.js?_=3.0-SNAPSHOT-43:3099)
    at Object.fireWith [as resolveWith] (jquery-1.11.0.js?_=3.0-SNAPSHOT-43:3211)
    at Function.ready (jquery-1.11.0.js?_=3.0-SNAPSHOT-43:3423)
    at HTMLDocument.completed (jquery-1.11.0.js?_=3.0-SNAPSHOT-43:3453)
(anonymous) @ (index):43
fire @ jquery-1.11.0.js?_=3.0-SNAPSHOT-43:3099
fireWith @ jquery-1.11.0.js?_=3.0-SNAPSHOT-43:3211
ready @ jquery-1.11.0.js?_=3.0-SNAPSHOT-43:3423
completed @ jquery-1.11.0.js?_=3.0-SNAPSHOT-43:3453
(index):1 Error in event handler for (unknown): TypeError: Cannot read property 'windowID' of null
    at chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/onloadwff.js:58:816001
    at Object.handleResponse (chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/onloadwff.js:58:757012)
    at r (chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/onloadwff.js:58:783163)
    at r (chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/onloadwff.js:58:5475)
mikeprimm commented 6 years ago

OK - the current dev code (as of now) is very close to an alpha level: I'm stranded in an airport in Chicago right now, so I'm kind of in a suboptimal way to get things released tonight. That said, the following stuff is known broken:

Also, I added a new shader - TexturePackHDUnderwaterShader - with a shader.txt definition named stdtexture-underwater. This shader allows you to render everything that is under water as if the water were air (and as if the blocks that are before you get to the water are air, as well), It makes for a really nice way to look at the pretty underwater scenes :)

image

TomRitserveldt commented 6 years ago

I tried out the latest version on a new spigot server install with some minor exploration done, however the dynmap seems to show areas I havent really been(dunno if that just is because of the render range?) and quite a bit of missing areas, no matter how much extra exploring I do. There's also seems to be a difference between the flat view and 3d view image image

any suggestions? EDIT: running a wb fill to see if that would render it properly. unfortunately it will probably skip the chunks that are only partially loaded now

smmmadden commented 6 years ago

Make sure you have set the border of the world before using the wb fill or it wont fill correctly - at least it was that way for me.

mikeprimm commented 6 years ago

OK - figured out 1.13 biome water shading, so the water colors should now be 'true' to 1.13. You'll need a full render to fix appearance on existing maps (same as you do for any blocks that I add that were missing during your earlier renders.

On the WB thing: I'm pretty sure it's a Spigot behavior change - on my own logic, I ask spigot to load chunks without generating them, so the load fails if the chunk isn't generated. From what I can see, the result of this is that I don't get the 'border' chunks I see in other versions - that is, chunks with generated landscape but without being populated by trees. The border chunks I see are populated chunks, so I see portions of trees right up to the edge of the world - something you don't see in earlier versions - which implies that the 'load if generated' is actually 'load if generated AND populated'. If WB fill sees those chunks as something that doesn't need further work (versus needing to be populated), we'd see what we are seeing here.

kelso6969 commented 6 years ago
[Tue Aug 21 10:58:36.386562 2018] [:error] [pid 8773] [client 68.114.32.75:54570] PHP Fatal error:  Uncaught Error: Call to a member function bind_param() on boolean in /home/myminecraft/public_html/dynmap/standalone/MySQLfuncs.php:40\nStack trace:\n#0 /home/myminecraft/public_html/dynmap/standalone/MySQL_funcs.php(63): getStandaloneFileByServerId('dynmap_config.j...', 0)\n#1 /home/myminecraft/public_html/dynmap/standalone/MySQL_configuratin.php(22): getStandaloneFile('dynmap_config.j...')\n#2 {main}\n  thrown in /home/myminecraft/public_html/dynmap/standalone/MySQL_funcs.php on line 40
[Tue Aug 21 10:58:44.377329 2018] [:error] [pid 3461] [client 68.114.32.75:32697] PHP Fatal error:  Uncaught Error: Call to a member function bind_param() on boolean in /home/myminecraft/public_html/dynmap/standalone/MySQLfuncs.php:40\nStack trace:\n#0 /home/myminecraft/public_html/dynmap/standalone/MySQL_funcs.php(63): getStandaloneFileByServerId('dynmap_config.j...', 0)\n#1 /home/myminecraft/public_html/dynmap/standalone/MySQL_configuratin.php(22): getStandaloneFile('dynmap_config.j...')\n#2 {main}\n  thrown in /home/myminecraft/public_html/dynmap/standalone/MySQL_funcs.php on line 40

Getting this in apache error logs, internal server error on dynmap page. Any ideas?

Switched to filetree from MySQL and it works now.

fichdlmaa commented 6 years ago

Hello Mike, looks realy beautiful now :-D mc-dynmap20180821

fhgui2 commented 6 years ago

cant wait for dynmap 1/13 keep up the good work! :D

fhgui2 commented 6 years ago

is it safe to use now? I had the problem when I first used the dynmap of not being able to load smooth stone blocks and slabs ect is this fixed?

smmmadden commented 6 years ago

for a test server, yes - it's not completely done so use at your own risk :-)

smashedbotatos commented 6 years ago

Having issues with using Apache and the JSON update client. config.js 404 and config not defined in java.

Failed to load resource: the server responded with a status of 404 (Not Found) (index):43 Uncaught ReferenceError: config is not defined at HTMLDocument.<anonymous> ((index):43) at fire (jquery-1.11.0.js?_=3.0-SNAPSHOT-35:3099) at Object.fireWith [as resolveWith] (jquery-1.11.0.js?_=3.0-SNAPSHOT-35:3211) at Function.ready (jquery-1.11.0.js?_=3.0-SNAPSHOT-35:3423) at HTMLDocument.completed (jquery-1.11.0.js?_=3.0-SNAPSHOT-35:3453)

kelso6969 commented 6 years ago

@smashedbotatos you using MySQL? I was having similar errors which I posted above. Switching to another storage fixed it for me (I know this isn't ideal). You're also on a fairly old outdated build.

smmmadden commented 6 years ago

Looks great after the fullrender again to see multiple shades of water. :-) This rendering also introduced some jagged edges in four locations (not quite N S E W, but close). image image Interestingly, each of the four are identical in shapes (2 lines: 1 short, 1 long) image

mikeprimm commented 6 years ago

Already covered this - nothing I can or will do about flukes in chunk generation particular to WB fill. If visiting the unrendered chunks with a real character and then rerendering makes it right, it's not a Dynmap concern - it reads world state, it doesn't modify it (and it will not fix it).

The current dev build (as of a few minutes ago) should be considered an alpha candidate: I'm expecting to release it as an alpha tomorrow.

Ayplow commented 6 years ago

Is there any plan to fix the way 2D textures display? I'd assume there was a good reason it wasn't done before, but is there a way we could fix grass/sugarcane/flowers/plants and now kelp?

smmmadden commented 6 years ago

Thanks @mikeprimm that's what I thought and will follow up with the WorldBorder team to see when they'll also have a 1.13 build to test with. Will also download the alpha candidate and re-test again.

mikeprimm commented 6 years ago

@TomSputz not clear on what you mean - are you talking about the fact that, from straight above, the standard models for these blocks are not visible (which, unfortunately, is consistent with vanilla in-game behavior)?

@smmmadden Once I get 1.13 support done, I'll try to give the WorldBorder thing a look too - I used to work on world generation code in Bukkit and Spigot, so I might be able to help sleuth out what is going on there. It's just not something that I'll be able to fix on Dynmap's side - although there might be a Spigot PR to be done :)

Ayplow commented 6 years ago

Sorry, my bad, I had assumed it was known as it's bugged me since day one - I'm talking about how a set of blocks - seemingly the ones that use the cross.json blocktype - display flat on the isometric views, instead of with their model. Shown here - The flowers, tall_grass and especially sugarcane stand out image

I would really love it if they could be rendered like they are in game

mikeprimm commented 6 years ago

@TomSputz They really are - the 'cross' model is two 45 degree inclined surfaces: corner to corner. Since the ISO view is from 135 degrees (southeast), blocks are viewed from that perspective, which means one of the two surfaces is 'flat' to the viewer, while the other is perpedicular (and, being zero depth, invisible). If you want, you can edit perspectives.txt and change the viewing angle of a stock perspective (or add a custom one of your own), switch or add a map to use that perspective with 'dmap mapset' command, and re-render.

Ayplow commented 6 years ago

oh right.. of course... Ugh I still hate how it looks though... Have you played with that at all in the past to see if there's a different way to display them? I might play around with it for a few days to see if I can come up with anything

EDIT: Completely forgot about the custom perspectives.. sorry for being a nuisance

mikeprimm commented 6 years ago

You can see the effect on this screen shot (imperfectly, since even a little perspective starts to show the sliver of the other surface):

image

If you alter or add a perspective with a view angle of, say, 120 degrees, I think you might like the result.

mikeprimm commented 6 years ago

So, just released v3.0-alpha-1, which is the initial release supporting v1.13 on Spigot/CB. Right now, the existing lack of support for banner blocks is still present (they were not supported in 1.12 or 1.11 either), but otherwise v1.13 block support should be in pretty good shape. Please feel free NOW to report missing or incorrectly rendering blocks - just be sure you've updated to at least the v3.0-alpha-1 build (see Releases on this repository, or go to Spigot or dev.bukkit.org) and have rendered with the new code before reporting any such issues.

TNTUP commented 6 years ago

Going to subscribe here to keep updated, thats a good progress to hear!

dwilley83 commented 6 years ago

Updated earlier and am rendering the map to see if anything is missing.

EleventhOcean commented 6 years ago

Started a fullrender using the new release. Slabs, stairs, and fenceposts placed at water level (with tops visible above the water) appear underwater.

How it looks on the flat map: slab1

How it looks in-game: slab3 slab2

That dock is obscured by a building in the iso map, but here's another dock showing the same thing in the iso view: slab4

smmmadden commented 6 years ago

Hey @mikeprimm - would you expect the World Cave map to look like this after a full render? Are there specific blocks that might not be present on this map? image Comparing to my 1.12.2 server map that shows Caves, it seems more complete than that of 1.13. image

Grimdari commented 6 years ago

@mikeprimm Thank you! Thank you! Thank you! Other than cave rendering (having same problem as smmmadden above), the alpha-1 release is working like a champ!

aroswald commented 6 years ago

Also having trouble with cave rendering, I've been using dynmap for years and i really appreciate all the hard work you put into it. Just keep up the good work, im sure you will fix it soon.

mikeprimm commented 6 years ago

Future dev builds for Spigot/Bukkit will be at http://dynmap.us/builds/dynmap/Dynmap-HEAD-spigot.jar - as before, these are 'bleeding edge' builds, so no promises on stability.

mikeprimm commented 6 years ago

Latest dev build fixes cave render issues - 1.13 has 3 types of 'air' now, and the air in caves isn't the classic 'air' :)

I'm working on the 'waterlogged' blocks rendering problem - hopefully will have something worked out tomorrow night.