First of all, I would like to thank you for your great plugin! I have set it following your instructions provided here: https://github.com/webbukkit/dynmap/wiki/Setting-up-without-the-Internal-Web-Server . Everything looks great except a few issues and I have been solving it for months (and I have almost given up). I would like to seek your help.
Issue 1: https://www.synercraft.net/maps/ideacountry/
When you browse this dynmap it looks properly; yet, when you switch to the develop console there are many error 404 for the tiles. I have tried purging the world (/dynmap purgeworld world) and running a full render again, reinstalling the plugin, and even re-copying the whole web folder (except the tiles folder of course); but nothing works.
Issue 2: https://www.synercraft.net/maps/watersuno/
This problem doe not occur very frequently, but it's still very annoying sometimes. Some of my friends complain this dynmap keeps refreshing at certain times. I'm not sure where I have set wrong, but I have followed the instructions exactly the same as the Issue 1 one.
Please advise if you need any further information. Thank you!
OS: Ubuntu 17.10
Web Server: Apache2
Minercraft server kernel: Spigot 1.11.2 (both)
Dynmap Version: 2.5-Dev201706100401 (both)
Issue 1 config: https://pastebin.com/embed_js/dk9RPUT2 (Update: modified the web path to the right one but it still does not work.)
Issue 2 config: https://pastebin.com/3fFwexj7
Apache2 site config: https://pastebin.com/tbHh5Ttq (I have used symbolic link to the respective tiles folder, and my third dynmap works perfectly so I think it's not the case.)
Good writeup of your problem, thanks for including all this info!
I see you're pushing this content through cloudflare.
Regarding item 1:
Can you see requests in your apache logs for the items that 404?
Have you attempted a cloudflare cache flush?
Are those items located on disk? I see you're also using a filetree, might want to consider doing mysql or sqlite DB for the map, less inode usage and less disk thrashing.
The apache config seems to be alright to me, but I'm more familiar with nginx.
Regarding item 2:
What do you mean refreshing? Does the page reload? Does the map wipe/need to be rendered again?
If you could provide some more info here, that would be much appreciated.
Regarding both of them:
Your dynmap configs are _near_ identical, but differ greatly on lines 309 and 312.
one specifies a full filesystem path, the other doesn't. Try updating the ideacountry config to be like watersuno.
I believe that to be the cause of the problems for item 1. If you look at the config.js that's being served by ideacountry, the tilepath is odd, whereas the watersuno tilepath shows a proper php file (which is how dynmap does the standalone.
See these:
https://www.synercraft.net/maps/ideacountry/standalone/config.js
https://www.synercraft.net/maps/watersuno/standalone/config.js
Thank you for your reply.
Regarding item 1: I have tried to modify the configuration.txt as well as the config.js. And yes, it works! Thanks a lot for your help. By the way could you please give me the instruction on how to do MYSQL with the standalone server? I have no idea how to work that way.
Regarding item 2: It's the whole-page reload (as my friends told me). I shall try duplicate the case and take a video of it if possible.
FWIW: the config.js is generated by Dynmap and shouldn't need to be updated by hand, I only pointed it out to show that the tiles and web paths were acting up.
For SQL set up, take a look at this #2026
The whole map would need to be re-rendered though, as I don't know if there is any migration tool to move datastores.
And thanks, I'll see if I can try to replicate the second issue
Thank you for your SQL reference and I have implemented it on Watersuno already.
One more thing, for the Watersuno Dynmap, there is a problem as well: some pieces of the map cannot be rendered. (See the attached photo. You can also take a look via https://www.synercraft.net/maps/watersuno/ too. It happens in many places!) I have tried a few methods such as "purging and full-rendering" and "resetting the plugin" but none of them works (except I go there by myself and send "/dynmap render" command). It's quite annoying and please give me some advice. Thanks a lot!

The missing blocks are what I would assume are chunks that have not been generated yet, and by doing there you generate the chunk which causes Dynmap to generate an image for it.
I am unsure how to fix that, maybe there is a plugin which will "generate" a world in chunks that have not been explorered but I have not looked into it,