
Mods / LiveMap
Set to published to be listed. A draft mod is still visible to everyone via direct link
Author: BillyGalbreath
Side: Server
Created: Mar 15th 2024 at 12:31 AM
Last modified: May 30th 2024 at 6:09 PM
Downloads: 2104
Follow Unfollow 102
Latest release (for outdated Vintage Story v1.19.0 - v1.19.8):
livemap-0.0.9.zip
1-click install
This mod is currently put on the back burner.
I dont like how it is in it's current state, so I
am marking it as a draft for now. I will revisit
this at a future date.
-------------------------------------------------------------------------------------------------------------
Check out my server's map for a live example at https://vs.pl3x.net/map/
-------------------------------------------------------------------------------------------------------------
Installation:
- drop the "livemap.zip" into your "Mods" directory
- or any other directory you set your server up to load mods from
- start (or restart) your server
- pay attention to any errors that may happen on startup. most common one is port already in use.
- examine and edit the "livemap.json" config file in your "ModConfig" directory
- saving the file will cause the mod to automagically reload with the new values
- an admin must run the colormap command at least once from their client
- /livemap colormap
- the admin must have LiveMap installed on their client for this to work!
- an admin can now do a fullrender using the server command from the client or server
- /livemap fullrender
- this will queue up all your world's generated regions for the renderer.
- wait... no really, this might take awhile depending on how big your world is
- note: a fullrender may lag your server a bit while it's in progress if you dont have many available cpu cores/threads. this is only temporary lag and will end when the fullrender finishes
- you can use the "/livemap status" command to view the current state of the renderers
- after this is all done the map will automatically re-render regions that have changed when the world saves
- these auto renders are quick and should not cause any noticable lag (if any at all)
- the map will be viewable at your server's url/ip at the port you specified in the config
- you can setup your own reverse proxy to remove the port or add https support
-------------------------------------------------------------------------------------------------------------
Commands:
Note: All commands (except the first one for the url) require the `root` privilege (aka, op/admin).
- /livemap
- Get a link to the livemap
- /livemap apothemrender <apothem> [center]
- Queue up generated regions in range around a position/player for renderer. This does not generate new land
- Aliases:
- /livemap rangerender <apothem> [center]
- /livemap radiusrender <apothem> [center]
- Arguments:
- <apothem> the range (in blocks) to render
- [center] the center position (local coordinates)
- /livemap colormap
- Sends a request to your client to generate a new colormap. This requires LiveMap mod to also be installed on your client. Your client will generate a new colormap and then send it back to the server
- /livemap fullrender
- Queue up all generated regions in the entire world for renderer. This does not generate new land
- /livemap status
- View current renderer status
- Aliases:
- /livemap progress
- /livemap reload
- Reload the mod configuration from disk
-------------------------------------------------------------------------------------------------------------
F.A.Q.
- Why is my map blank? I only see a blue background.
- The map can only show regions that have been rendered. Regions only get rendered when they are saved. Run a fullrender to render all the world's regions that have been generated.
- If you still don't see any tiles generating, then you likely forgot to generate a colormap. Do this first before running the fullrender.
- I only see a small part of the world. There are holes or missing chunks in the map!
- The map cannot render chunks that do not exist. Try the "/wgen pregen" command to generate more chunks, or have your players explore the world more.
- The mod is erroring/crashing on startup. Please Halp!
- This could be for a number of reasons. Check your server log to find out more information. The most common possible issues are:
- The port you configured is already in use. Just pick another, or free up the port before use.
- The port you picked is a reserved port (1-1024). You will need elevated permissions to use these ports, which is highly discouraged (for security reasons). Instead, use a higher port and setup a reverse proxy to route to a lower one.
- Your OS has overly sensitive security restrictions (looking at you, Windows) and requires any port usage to have elevated permissions. You will have to run your server with elevated permissions (not recommended), or reserve the namespace to appease the Windows Gods.
- This could be for a number of reasons. Check your server log to find out more information. The most common possible issues are:
- Why not use HTTPS mode?
- It isn't as easy as just flipping a switch. HTTPS mode requires additional setup of an SSL certificate, and it is not a trivial task. For those that know what they are doing, there is always the option for external web server or a reverse proxy where you can setup your own SSL certs and use HTTPS mode.
- What about feature X or issue Y or suggestion Z?
- This mod is still in the very early stages of development, so nothing is certain yet. Just give me some time ^_^
-------------------------------------------------------------------------------------------------------------
API and other information can be found on the Github hosted wiki
https://github.com/BillyGalbreath/VS-LiveMap/wiki
Report bugs and issues to the Github hosted issue tracker
https://github.com/BillyGalbreath/VS-LiveMap/issues
If you would like to support me, every little bit helps
https://github.com/sponsors/billygalbreath
https://patreon.com/billygalbreath
https://ko-fi.com/billygalbreath
-------------------------------------------------------------------------------------------------------------
Todo
- easier installation and setup
- built-in renderers:
- basic
- sepia
- addon renderers:
- prospecting chunks
- temporal stability heatmap
- renderer picker
- customizable sepia colors
- lots of zoom levels
- better snow ignoring
- option to slow render process down for weak/limited servers
- built-in markers
- players
- spawn
- claims
- translocators
- traders
- custom markers
- json api
- c# api
- commands
- signs
- meta blocks (maybe?)
- render progress
- server side output
- client side hud element
- command output on demand status
- click player in sidebar to follow them on map
- player current/max count in sidebar
- show/hide players (via command, spectator mode, underground, etc)
- friendly urls
- css themes
- theme picker
- context menu
- center on point
- copy/paste coordinates
- share location
- go to spawn
- go to coordinates
-------------------------------------------------------------------------------------------------------------
Remember, I build these mods for myself and my family. Not you. I owe you nothing. I just like sharing what I've built with others for free. You will receive minimal to no support when using any of my mods.
-------------------------------------------------------------------------------------------------------------
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v0.0.9 | 1414 | May 30th 2024 at 6:09 PM | Show | livemap-0.0.9.zip | 1-click install | |
v0.0.8 | 176 | May 27th 2024 at 8:58 PM | Show | livemap-0.0.8.zip | 1-click install |
How does one enable the temporal stability heatmap and other features? The wiki appears to be incomplete in that regard currently.
Any chance we'll see this resume development with 1.20? There really arent any good dynmap like mods atm for servers that are simple to setup like this.
For the player icons I just went into the ModConfig folder and edited livemap.json and changed the players "Enabled": false, to "Enabled": true, under the layers section. Map generation just seems to work and I didn't have to do anything special.
PicSoul
If you dont mind my asking, how did you manage to get player icons working? I still have yet to figure that one out and livemap generation seems to only work for places I explore but not the other players.
Not sure if it was just me or others had this too but the player icon was rotated -90 so it was always facing the wrong direction. I have no clue if this is "correct" but I changed r.options.rotationAngle=n+s to r.options.rotationAngle=n+s+90 in the livemap.js file to fix the issue. Now, if I could only figure out how to reduce the postion UpdateInterval to 0.5 or so from the default 1 second update that would be great! I see UpdateInterval in the ModConfig file but it doesn't seem to have any effect?
I also understand this mod is no longer being maintained or developed but figured I'd share my findings with others as it seems there are a few of us still using this. ☺️
Also thanks to BdaumMus I did it the hard way by moving files around, but good to know there is an easier option!
for those of you still having issues with "the too large packet diconnection" have on op go into creative mode, hit the ~ key and on the right side click "server overload protection", this will turn off the ddos protection temporarily to let you run the /livemap colormap command
Only issue I have now is player markers dont appear to work? Editing players.json manually just reverts back to its original state after saving.
Viktoria
Thank you. I had thought of this but hadn't tried it yet. I'll give this a try.
PicSoul frostyfrog
From Something Unique Hosting support:
"The too large packet disconnection is due to a recent update from the devs to avoid a possible route for people to ddos servers. The unfortunate side effect is this issue. To my knowledge there's currently not a way to modify or disable it.
We had another client who downloaded their world and the mod into single player and ran the command and then uploaded the colormap.json to the server. This is the only workaround I'm aware of."
Same issue as frostyfrog, When trying to run the "colormap" command I get this error in the server log and get booted from the server. [Notification] Client **.**.***.** disconnected, too large packet of 9268944 bytes received
I'm trying to install to a GPortal hosted server which may be part of the issue?
When trying to run the "colormap" command, I appear to be getting the following error on the server as it disconnects me:
29.3.2025 17:41:07 [Server Notification] Client ::ffff:1.2.3.4 disconnected, too large packet of 6240220 bytes received
Any thoughts?
Misterix
unStairus
That is bad/incomplete advice. It works, but it is ill-advised and other solutions are recommended as stated in the wiki.
https://github.com/BillyGalbreath/VS-LiveMap/wiki/Common-Questions-%28FAQ%29#the-mod-is-erroringcrashing-on-startup-please-halp
@unStarius "Run as Administrator" is the solution.
I get this error when trying to run it... any solution?... thx
1.3.2025 10:57:13 [Event] [LiveMap] Internal webserver starting on port 42426
1.3.2025 10:57:13 [Error] [LiveMap] Internal webserver has failed to start
1.3.2025 10:57:13 [Error] [LiveMap] System.Net.HttpListenerException (5): Access denied.
at System.Net.HttpListener.AddPrefixCore(String registeredPrefix)
at System.Net.HttpListener.AddAllPrefixes()
at System.Net.HttpListener.Start()
at livemap.httpd.WebServer.<RunAsyncInfiniteLoop>b__10_0(Object _) in /var/lib/jenkins/workspace/VS-LiveMap/src/httpd/WebServer.cs:line 89
I'd Like to Use this mod on my 1.20.4 Server, How do i go about doing that
Can confirm this still works on 1.20 for those who want to use it
We are using this mod just fine and are happy with it so far. But looking forward to whatever you want to do with it.
This project is such a great addition to the game, thank you for working on it.
The way I see it it's one of the coolest mods for the game, specially when in multiplayer where we can see the whole map in one go.
I got it working fairly straight forward although I had to open the port up on my Linux machine and a step by step guide could be useful for someone with less technical prowess.
Congratulations BillyGalbreath, this one despite being in development works really well!
Here's a link of our server map: http://104.248.166.50:20245/basic/2/417/-196/
BillyGalbreath
Hey o/ I really like this mod and using that on my servers. Is it posiible to update mod and add some markers (editable) ?
Thank you.
Laguna
It need to be configured in windows firewall to enabled and trust this port, And I thing need to be port forwarding to PC adress. And maybe public ip adress.
Hello friends, I have followed the instructions of the mod, but I can't get it to work. I have it hosted on a dedicated server, I contacted support to have them open a port for me, they opened port "27504", and I have configured the "livemap.json" file with the following configuration:
{
"DebugMode": false,
"Httpd": {
"Enabled": true,
"Port": 27504
},
"Web": {
"Path": "web/",
"Url": "http://104.234.252.157:27504",
"ReadOnly": false,
"TileType": "webp",
"TileQuality": 100
I also put the commands indicated in the description, but when I try to view the map, it does not load: http://104.234.252.157:27504
NateDoesLife
I guess same like the layers - not implemented yet
So I am trying to add custom polygon markers to my map but having a hard time, I have the setup of the markers laid out but overall just not sure where to put the information. Does it go in livemap.json? because that always resets whenever I do anything in there. I also tried the markers json in the moddata folder and that didn't seem to work either. Is this ability just not implemented yet?
BillyGalbreath
aaah ok, sorry, hope things going well and you implemented that soon. Good job !
that's not implemented yet DejFidOFF
https://github.com/BillyGalbreath/VS-LiveMap/blob/master/src/task/MarkersTask.cs#L49-L51
BillyGalbreath
Hello o/ Just trying to put some more layers to the livemap, but everatime I save livemap.json server says:
Detect the config was changed, Reloading.
but, livemap.json returns to default setting.
using example like here: https://github.com/BillyGalbreath/VS-LiveMap/wiki/Icon-Marker
It´s working well for me. Good job. Keep on going ! :) I will realy love to use sign and lands as a markek :)
What is that exemple world seed please?
based
Decided to try one of the dev builds after all. Just having trouble figureing out how to get the map to render. As you mentioned the instructions are different now but I haven't been able to deduce them lol
Whenever you've got a moment. :)
(edit)
Nevermind. I didn't think to check the configlib menu and found the colormap generate option.
No problem BillyGalbreath
I'll probably just cruise with the current version till you have the next one cooked up. As is it's really helpful for searching the map for things to investigate. Much faster than the in game map. :)
Sorry about that Ovadex,
The released version on this site doesnt contain the player markers yet. You can get dev builds from https://ci.pl3x.net/job/VS-LiveMap/ but the installation instructions are very different than what's posted here (it's actually easier now).
Hopefully soon I'll have the newer stuff cleaned up enough for another test build/release and I'll update the docs to reflect the changes.
Really awesome work! I'm having trouble getting player markers working. There are no layers on the map and while trying to figure out what to put in players.json I'm drawing a bit of a blank. There's nothing on the wiki about what's needed so if anyone has had better luck than I, I'd greatly appreciate any help.
BillyGalbreath
So I'm getting this error block when loading the mod on my server.
11.5.2024 20:14:19 [Error] [livemap] An exception was thrown when trying to load assembly:
11.5.2024 20:14:19 [Error] [livemap] Exception: Assembly with same name is already loaded
at System.Runtime.Loader.AssemblyLoadContext.<LoadFromPath>g____PInvoke|5_0(IntPtr ptrNativeAssemblyBinder, UInt16* ilPath, UInt16* niPath, ObjectHandleOnStack retAssembly)
at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Vintagestory.Common.ModAssemblyLoader.LoadFrom(String path) in VintagestoryLib\Common\API\ModAssemblyLoader.cs:line 34
at Vintagestory.Common.ModContainer.<>c__DisplayClass36_0.<LoadAssembly>b__0(String path) in VintagestoryLib\Common\API\ModContainer.cs:line 455
at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.ToList()
at Vintagestory.Common.ModContainer.LoadAssembly(ModCompilationContext compilationContext, ModAssemblyLoader loader) in VintagestoryLib\Common\API\ModContainer.cs:line 454
No current livemap.yml file is being generated. Unable to do any commands in game.
hey, me again, I noticed a cool feature of your map mod.
if you pregen the map using /wgen pregen [radius]
your map mod will actually gen those chunks even though they have not been visited. this is really cool :D
😂so get this
I created a powershell script with an interface to create markers
the script saves the marker file it creates to a google drive share
my server has a scheduled task that runs every so often and copies the marker files to the location in the map and modifies the settings file to account for the name hahaha
so now my friends can add markers to the map 🤣
So apparently I am not good at reading -.-
I see you have a wiki link, will look at that :D
ignore me
I noticed that you might add markers to the map at some point
however I did see in the config file you had me look at that there is a marker section
is it at all possible to add markers manually or is that whole function not availble?
I noticed on your server map you had a little house icon for the spawn point :P
BillyGalbreath
That worked. the modifying the x,y values for the map :D
and also, I was so use to games adding firewall entries automatically when they prompt for the changes to be made that I didnt realise this isnt an app, its a mod haha.
After actually adding the new ports into my firewall, it all worked. see..... knew it was something dumb I did..... or didnt do in this case haha.
But yeah, after adjusting the values, its all working perfectly now :D
If I come across anything else weird, ill let you know. keep it up, I love Dynmap for minecraft and this is that for VS <3
hey, amazing idea and I will really like to get this to work.
I have followed everything, and it creates all the needed files and such.
the part I am stuck on is a few things
1) portforward does not want to work for some reason, but localhost on the server works fine. (I will deal with this but thought Id mention it) could be something stupid I have done
2) when I go to the page, its not black like someone else mentioned. its a weird dark blue color. textured color.
although the map has finished generating and I have done it a few times, the map itself does not want to load the terrain.
I have also set up a different web server (wamp) and that does the same thing, page loads the blue textured background with no terrain.
is this something I am doing wrong? any ideas?
Thanks for the mod and help when\if you have a chance :D
IAmJade
Everything should be working fine for you. Unfortunately, the security concerns for some operating systems is outside the scope of this project. There are many workarounds for it, such as running VS in admin mode, or allowing the url in netsh, etc. My recommendation for anyone experiencing issues with the built in web server if to run their own 3rd party server, like Apache, Nginx, or Caddy. The built in web server is really only provided as a convenience for those that it is able to work for. My personal setup is running the built in web server on Linux os, so there were no security concerns there. I also have an Apache server running in front of it, which is allowing me to reverse proxy a secure HTTPS address on port 443 to the private HTTP port of the built in server. You honestly don't even need to run the built in web server, which is hy there is an option to turn it off in the config. All you have to do is point your 3rd party web server to the web directory the mod installed. This sounds like the best option for you since you are using Windows os. I hope to have some instructions and examples about all this up on the wiki eventually.
As for the black screen, this is normal until you have fully run a fullrender on the world. The data to make the map is rather heavy to process, so it doesnt do the whole thing on it's own. Depending on your map size it could take a few seconds up to a few hours. To give you an idea, my server linked above does a fullrender in about 20 minutes. Currently there is no output to the console/log/game about the progress of the fullrender, other than some debug output which you can enable in the livemap.yml config file.
Line 44 in webserver.cs - doesn't that need to allow for localhost and a secure domain? Like I think need to add https too in case someone runs it on a public secure domain? Anyway, atm, I'm trying to get Windows 10 firewall to allow this to execute and this line is the failure point in SP mode. FWIW, this discusses the pain point https://stackoverflow.com/questions/4019466/httplistener-access-denied/
Following the suggestion in the SO post, when I run VS game in admin mode after having opened port localhost:8080 a map interface appears. However, all I see is a blank (black) map that says Vintage Story LiveMap in the bottom right. Unfortunately, the map isn't updating or getting populated with data from the game instance.
I wish you well with this endeavor. It will be a fun tool once it is all working. :)
Very excited to see where this goes! I started looking into making a map site with leaflet, but imho, interfacing with the game is the harder part and is a bit too complicated for my current understanding of C#, lol...
Wow that looks amazing! Can't wait to try it.
heck yeah, dude
Billy, this looks amazing man! Watching your progress with this very eagerly