Sign in to follow this  
LordOfAwesomnia

WurmMapGen v2 - interactive map viewer for WU servers

Recommended Posts

2 hours ago, Jerone0601 said:

I love the work you have done here. I am not utilizing the portal portion of the new generator because we just have to many portals and towers. Adding them all is just going to make it seem super cluttered. But that is just personal preference on how our map looks. I may modify it so it pulls our new caravan stations but not sure yet since that could easily get cluttered up as well. 

 

I just have 8k map :)

After1st map render in web user can to disable markers. 

Share this post


Link to post
Share on other sites
On 1/10/2018 at 3:06 AM, Jerone0601 said:

Adding them all is just going to make it seem super cluttered.

Users can toggle layers on and off using the options in the sidebar. I might add some more settings to configure which layers are on by default.

 

On 1/10/2018 at 3:06 AM, Jerone0601 said:

I may modify it so it pulls our new caravan stations

Is this an existing mod or something custom on the server? If it's (based on) an existing mod I'd love to add it into the core mapgen.

 

On 1/9/2018 at 7:47 PM, DiWorm said:

Send you files in PM

Thanks! I'll have a look.

Share this post


Link to post
Share on other sites

@DiWormI think I identified the issue, it was an old database query that didn't work correctly. I've published a new release on Github (v2.3.3), could you try it and let me know if it loads all the towers now?

Share this post


Link to post
Share on other sites



V:\wurm\_mg>java -Xmx10g -jar WurmMapGen.jar --verbose
WurmMapGen v2.3.3
      Developed and maintained by woubuc
      Based on original code by garrett94
      More info: github.com/woubuc/WurmMapGen

      Properties file: V:\wurm\_mg\WurmMapGen.properties
      Template directory: V:\wurm\_mg\template
      Verbose logging enabled

Properties
      Loading properties file
      Map path: V:/wurm/PvE
      Save path: C:/servers/_scripts/wurm_map
   OK Loaded properties file

Create temp file copies
      Created directory C:\Users\836D~1\AppData\Local\Temp\2\WurmMapGen\15157752
29508
      Loading required files
      Copying files to temp directory
      -> top_layer.map
      -> wurmzones.db
      -> wurmzones.db-wal
      -> wurmzones.db-shm
      -> wurmitems.db
      -> wurmitems.db-wal
      -> wurmitems.db-shm
      -> wurmplayers.db
      -> wurmplayers.db-wal
      -> wurmplayers.db-shm
      -> modsupport.db
   OK Temp files copied

Open Wurm MeshIO connection
 эт 12, 2018 7:40:29 PM com.wurmonline.mesh.MeshIO open
INFO: C:\Users\836D~1\AppData\Local\Temp\2\WurmMapGen\1515775229508\top_layer.ma
p size is 268436480
   OK MeshIO connection opened

Open db connections
      Connecting to wurmzones.db
   OK Connection established
      Connecting to wurmitems.db
   OK Connection established
      Connecting to wurmplayers.db
   OK Connection established
      Connecting to modsupport.db
   OK Connection established
   OK Database connections opened

Map generation
      Creating images directory C:\servers\_scripts\wurm_map\images
   OK Images directory created
      Server map size: 8192 x 8192
      Interactive map tile size: 256 x 256
      -> Generating map tiles: 99%   OK Generated 32 map tiles in 627962ms

Template assets
      Copying directory app
      Copying directory css
      Copying directory data
      Copying directory dist
      Copying directory includes
      Copying directory markers
   OK Template asset files copied

Template
      Assembling template data
      Compiling index.html
   OK Rendered index.html

JSON Config data
      Writing C:\servers\_scripts\wurm_map\data\config.json
   OK Created config.json

PHP config data
      Writing C:\servers\_scripts\wurm_map\includes\config.php
   OK Created config.php

Village data
      Loading villages from wurmzones.db
   OK Loaded data for 50 villages
      Writing C:\servers\_scripts\wurm_map\data\villages.json
   OK Created villages.json

Guard tower data
      Loading modded template IDs from modsupport.db
      -> org.takino.tower.Jenn-Kellon (22709)
      -> org.takino.tower.Mol-Rehan (22708)
      -> org.takino.tower.Horde of the Summoned (22707)
   OK Loaded 3 mod templates
      Loading guard tower items from wurmitems.db
      -> Tower IDs: [384, 430, 528, 638, 996, 22709, 22708, 22707]
   OK Loaded data for 57 guard towers
      Writing C:\servers\_scripts\wurm_map\data\guardtowers.json
   OK Created guardtowers.json

Portal data
      Loading portal items from wurmitems.db
      -> Portal IDs: [603, 604, 605, 637, 606, 607, 732, 733, 855, 4002, 4003, 4004, 4010, 4011, 4015]
   OK Loaded data for 0 portals
 SKIP No portals found

Close db connections
      Disconnecting from wurmzones.db
   OK Connection closed
      Disconnecting from wurmitems.db
   OK Connection closed
      Disconnecting from wurmplayers.db
   OK Connection closed
      Disconnecting from modsupport.db
   OK Connection closed
   OK Database connections closed

Close Wurm MeshIO connection
   OK Connection closed

Remove temp file copies
   OK Temp directory deleted

Map generated in 630520 ms

Yep! Towers work now :) http://wurm-map.gamecoma.ru/

But still cant add 5000id for portals :)

Share this post


Link to post
Share on other sites

Adding custom IDs is on the roadmap, you'll have to wait a bit longer :) I wanted to get the bug with the towers fixed first.

  • Like 2

Share this post


Link to post
Share on other sites

Would this work on a Hosting Service?
There's a step here that makes me question: "To start the application, just run the jar: java -jar WurmMapGen.jar."

Don't exactly have this sort of option available on a hosting service. :P

Share this post


Link to post
Share on other sites
On 1/30/2018 at 5:31 AM, Zera said:

Would this work on a Hosting Service?
There's a step here that makes me question: "To start the application, just run the jar: java -jar WurmMapGen.jar."

Don't exactly have this sort of option available on a hosting service. :P

 

I'm not sure what you mean here, in my experience most server hosting providers should give you at least SSH access to your server so running the mapgen shouldn't be an issue. Otherwise you could configure a cronjob (if they're available on your hosting service) to run the generator automatically at set intervals.

 

In any case, I would think you should be able to start the application in the same way you would start any other application on your server?

Edited by LordOfAwesomnia
  • Like 1

Share this post


Link to post
Share on other sites
On 2/2/2018 at 2:55 AM, LordOfAwesomnia said:

 

I'm not sure what you mean here, in my experience most server hosting providers should give you at least SSH access to your server so running the mapgen shouldn't be an issue. Otherwise you could configure a cronjob (if they're available on your hosting service) to run the generator automatically at set intervals.

 

In any case, I would think you should be able to start the application in the same way you would start any other application on your server?

If by SSH you're meaning something like FTP than sure.
But from what I've seen most hosting services don't give you options to run such things directly on the service.

Share this post


Link to post
Share on other sites

Hi. thanks for this great mod!

I use a vps with debian 9 and SSH to establish connection..

 

I cannot to do work properly the mod at the moment...any suggestion?:

 

WurmMapGen v2.3.3
      Developed and maintained by woubuc
      Based on original code by garrett94
      More info: github.com/woubuc/WurmMapGen

      Properties file: /home/steam/Steam/wu/mods/WurmMapGen-v2.3.3/WurmMapGen.properties
      Template directory: /home/steam/Steam/wu/mods/WurmMapGen-v2.3.3/template                Generating map tiles: 99                  %Generated 16 map tiles in 100250ms                                                                                                     Template asset files copied                                                                                                             Rendered index.html                                                                                                                     Created config.json                                                                                                                     Created config.php                                                                                                                       WARN Mod support database not loaded                                                                                                   Database connections closed                                                                                                             Connection closed                                                                                                                       Temp directory deleted
Map generated in 101016 ms

 

 

 

Share this post


Link to post
Share on other sites

  WARN Mod support database not loaded    

 

No access to db. It on same host? Wrong paths?

Share this post


Link to post
Share on other sites
On 2/4/2018 at 7:00 AM, Zera said:

If by SSH you're meaning something like FTP than sure.
But from what I've seen most hosting services don't give you options to run such things directly on the service.

I get the feeling you're using a managed hosting service (i.e. a "game hosting" package rather than a VPS where you run your own stuff), correct? If so, you'll have to resort to your hosting provider's documentation and support to figure out how to SSH into your server and run the map generator.

 

Note: SSH is not something like FTP, it is a way to remotely access the command line interface of your server and execute commands on it. It's the standard way to interact with any typical VPS server, but unfortunately it's often not available with managed hosting services.

 

On 2/9/2018 at 3:03 AM, Maelux said:

WARN Mod support database not loaded 

Could you run the map generator again with the --verbose flag? It should include more information.

Share this post


Link to post
Share on other sites

I have a problem with the searchfield

I cant find all deeds with it.

 

Eject

Share this post


Link to post
Share on other sites
On 4/5/2018 at 9:18 AM, Eject said:

I have a problem with the searchfield

I cant find all deeds with it.

That's strange, it should include all deeds on the map. Were the missing deeds recently created or disbanded?

 

Can you give me some info about some of the deeds that can't be found?

Share this post


Link to post
Share on other sites

Receiving the following error at the end:

ERROR No key, method or field with name 'serverName' on line 4
com.samskivert.mustache.MustacheException$Context: No key, method or field with name 'serverName' on line 4
        at com.samskivert.mustache.Mustache$VariableSegment.execute(Mustache.java:804)
        at com.samskivert.mustache.Template.executeSegs(Template.java:157)
        at com.samskivert.mustache.Template.execute(Template.java:134)
        at be.woubuc.wurmunlimited.wurmmapgen.TemplateHandler.render(TemplateHandler.java:46)
        at be.woubuc.wurmunlimited.wurmmapgen.WurmMapGen.main(WurmMapGen.java:97)

 

All files seem to be generated except the index file is empty. Verbose Log (https://pastebin.com/TfVAHayt)

Share this post


Link to post
Share on other sites

I'm doing something wrong, but I can't figure out what. Here is a lot of information, in case it helps someone to see where I've gone wrong.

 

When I double click index.html I get a webpage but it shows only a white screen with a place to type deed or person's name.  Here's the error I see in my server log when I try to open my LAN server:

Spoiler

[10:04:14 PM] SEVERE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: Missing property classname for mod WurmMapGen
org.gotti.wurmunlimited.modloader.classhooks.HookException: Missing property classname for mod WurmMapGen
    at org.gotti.wurmunlimited.modloader.ModInstanceBuilder.createModInstance(ModInstanceBuilder.java:53)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.lambda$loadModsFromModDir$1(ModLoaderShared.java:141)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:143)
    at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:20)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at javassist.Loader.run(Loader.java:288)
    at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at PatchedLauncher.main(PatchedLauncher.java:20)
 

 

I extracted WurmMapGen.jar and WurmMapGen.properties to my mods folder:    C:\Program Files (x86)\Steam\steamapps\common\Wurm Unlimited Dedicated Server\mods

 

Then I created a folder called WurmMapGen v2  here:  C:\Program Files (x86)\Steam\steamapps\common\Wurm Unlimited Dedicated Server\WurmMapGen v2

 

I opened WurmMapGen.properties and used the following configs:

wurmMapLocation=C:/Program Files (x86)/Steam/steamapps/common/Wurm Unlimited Dedicated Server/Creative 

          (This is the folder where my custom map files are)

saveLocation=C:/Program Files (x86)/Steam/steamapps/common/Wurm Unlimited Dedicated Server/WurmMapGen v2

          (This is where I put the folder I created, as mentioned above)

 

I left all the rest of the config per default.

 

Went back into my mods folder and double clicked WurmMapGen.jar

Gave it a few minutes to finish, then clicked patcher.bat just in case.

 

Went into the saveLocation folder and found my index.html

Double-clicked to open it, and it brought me to the white webpage

 

Tried to start my LAN server from the patched launcher, and got the error message in the spoiler above.  I am now unable to open my server at all.

 

I hope this is enough info to help me figure out what I've missed. Thanks if you can help!

 

EDIT:  When I remove this mod completely, my server starts as normal.

 

@bdew maybe? @Governor ?  @LordOfAwesomnia ?

 

Edited by Batta

Share this post


Link to post
Share on other sites

this is a standalone program, not a mod, you should not put it in your mods folder.

Share this post


Link to post
Share on other sites
11 hours ago, bdew said:

this is a standalone program, not a mod, you should not put it in your mods folder.

 

Oh, I had wondered about that, but blindly followed the instructions, lol.  So...does it need to be in WurmLauncher, Creative, or somewhere else?

 

Quote

WurmMapGen

Installation

 

 

Share this post


Link to post
Share on other sites

Oops, you're absolutely right, it's not a mod so it shouldn't go in the mods directory. Thanks for spotting that! I've updated the instructions.

 

Other than that, it doesn't really matter where you put the application, as long as you set the correct paths in the properties file.

  • Like 1

Share this post


Link to post
Share on other sites

Hmm. I'm still getting only a blank map, and I can't think why. 

 

I extracted the MapGen to my Dedicated Server file. So the jar and properties files are here: C:\Program Files (x86)\Steam\steamapps\common\Wurm Unlimited Dedicated Server

 

Created a "Green Dragon LAN MapGen" folder at the same location, as my output location

 

Configured the properties file so that :

wurmMapLocation=C:/Program Files (x86)/Steam/steamapps/common/Wurm Unlimited Dedicated Server/Creative  <---- (where my map files are)

saveLocation=C:/Program Files (x86)/Steam/steamapps/common/Wurm Unlimited Dedicated Server/Green Dragon LAN MapGen   <--- (output location)

 

Ran WurmMapGen.jar

Once it finished, I went into the output folder and double clicked index.html but still got just the blank map with the Search bar at the top left. The server tab says Green Dragon LAN, so I know that something went through. 

 

Could it be that there's something else in the config file that I need to change?  I left everything default. Here's what I have:

Spoiler

# ------------------------ #
# WurmMapGen Configuration #
# ------------------------ #


# Information
# -----------

# Name of the server
# Will be displayed on the map output
serverName=Green Dragon LAN


# Server paths
# ------------

# Directory that contains your Wurm map. Can be a relative or an absolute path.
# Example: /Wurm Unlimited Dedicated Server/Creative
# Use forward slashes (/), not backslashes (/), even on Windows.
wurmMapLocation=C:/Program Files (x86)/Steam/steamapps/common/Wurm Unlimited Dedicated Server/Creative

# Directory that should en up containing the output files. Can be a relative or absolute path.
# This should generally be a directory that's served by an HTTP server.
# Use forward slashes (/), not backslashes (/), even on Windows.
saveLocation=C:/Program Files (x86)/Steam/steamapps/common/Wurm Unlimited Dedicated Server/Green Dragon LAN MapGen


# Realtime
# --------

# Set to true to display realtime data on the map. Realtime data includes current player locations.
# This feature requires your output to be served from a PHP server, with WurmWebRMI running.
# More info: https://github.com/Garrett92/WurmWebRMI
enableRealtimeMarkers=false

# Hostname of the WurmWebRMI interface
rmiHost=localhost

# Port of the WurmWebRMI interface
rmiPort=8080


# Map Display
# -----------

# Marker type
# 1 = the map will use classic markers, based on the first letter of the deed name (same as in WurmMapGen v1)
# 2 = the map will use v2 markers, based on the number of citizens on a deed
# 3 = the map will use text labels containing the name of the deed, and small icons for towers and players.
markerType=2


# Map Layers
# ----------

# Show players on the map.
# Only has effect if realtime markers are enabled
showPlayers=true

# Show deeds on the map
showDeeds=true

# Show guard towers on the map
showGuardTowers=true

# Show structures on the map
showStructures=true

# Show portals on the map
showPortals=true


# Map Generation
# --------------

# The number of concurrent threads the application should use.
# Lower = slower easier on your CPU
# Higher = faster, but more CPU usage
mapGeneratorThreads=2

# Size of a tile on the map
# Should be a power of 2 (64, 128, 256, 512, 1024, ...)
# Smaller tiles = more files generated, takes longer but needs slightly less memory
# Larger tiles = less files generated, but can use a lot of memory if the tiles are too large
# Advised value is between 128 and 512, lower than 128 could give bad performance in the browser
mapTileSize=256

# Generate shading on map based on tile height
mapGenerateShading=true

# Shading modifier
# How pronounced elevation shading should be, the intensity shadows and lights will be multiplied by this number
# Higher = more shading (darker shadows)
# Lower = less shading (the map will look flatter)
mapShadingModifier=1.0

# Generate shading on paths
mapShadePaths=true

# Generate water on map
mapGenerateWater=true

# Generate bridges on map
mapGenerateBridges=true
 

 

Share this post


Link to post
Share on other sites
15 hours ago, Batta said:

Once it finished, I went into the output folder and double clicked index.html but still got just the blank map with the Search bar at the top left. The server tab says Green Dragon LAN, so I know that something went through. 

 

Try uploading it to an actual web server. I don't think it can work from a local file system because of how the JS code is written.

Share this post


Link to post
Share on other sites
29 minutes ago, bdew said:

 

Try uploading it to an actual web server. I don't think it can work from a local file system because of how the JS code is written.

Do you mean that I need to create a website for my LAN and then somehow get the map onto it?  Or is there some easier way...

Share this post


Link to post
Share on other sites
11 hours ago, Batta said:

Do you mean that I need to create a website for my LAN and then somehow get the map onto it?  Or is there some easier way...

 

You could use something like XAMPP to run a local web server

  • Like 2

Share this post


Link to post
Share on other sites

Like bdew said - the scripts won't work if you just open the file (browsers limit a lot of features when running local files, for security reasons). You should serve the generated files from a (local) webserver, as mentioned in the documentation.

 

There are plenty of applications that you can use to set up a local webserver. The classic xampp / wamp / mamp (or any *amp stack) will certainly do the trick.

Share this post


Link to post
Share on other sites

I tried getting Caddy, but I don't understand most of what it's saying to do. Is there no way to use MapGen if you don't know how to do techie stuff?  We currently use MapViewer just because there's nothing much to do to make it work and it's pretty much foolproof. Is it possible to get a similar way to use MapGen?  

 

I've never learned the technical language associated with computers, and often they say to "simply" do something but I don't know what the words mean. Caddy instructions begin "make a Caddyfile" - already I'm stumped. What the heck is a Caddyfile?  So I read further... "The first line of the Caddyfile is always the address(es) of the site to serve."  I don't know what the "site to serve" is - is it the index.html file that I'm trying to view the map from?  What is a site to serve?  No idea.  And how would I know what its address is?

After I "define as many sites as want" (no idea what that means), it says to "Run Caddy" -- but no instructions on how to run it, or what exactly it is.  There are many files in the Caddy download to choose from, and none that is obvious to me as the one I should be able to "run" which I would guess means double-click?

 

So...I'm back to wishing there was an easy way to simply view the map for my LAN server, using MapGen the way I can with MapViewer.

 

Edited by Batta
  • Like 1

Share this post


Link to post
Share on other sites
On 7/24/2018 at 1:23 AM, Batta said:

I tried getting Caddy, but I don't understand most of what it's saying to do. Is there no way to use MapGen if you don't know how to do techie stuff?  We currently use MapViewer just because there's nothing much to do to make it work and it's pretty much foolproof. Is it possible to get a similar way to use MapGen?  

 

I've never learned the technical language associated with computers, and often they say to "simply" do something but I don't know what the words mean. Caddy instructions begin "make a Caddyfile" - already I'm stumped. What the heck is a Caddyfile?  So I read further... "The first line of the Caddyfile is always the address(es) of the site to serve."  I don't know what the "site to serve" is - is it the index.html file that I'm trying to view the map from?  What is a site to serve?  No idea.  And how would I know what its address is?

After I "define as many sites as want" (no idea what that means), it says to "Run Caddy" -- but no instructions on how to run it, or what exactly it is.  There are many files in the Caddy download to choose from, and none that is obvious to me as the one I should be able to "run" which I would guess means double-click?

 

So...I'm back to wishing there was an easy way to simply view the map for my LAN server, using MapGen the way I can with MapViewer.

 

Hey I was just as confused as you were at first! For starters, you dont need to worry about caddyfile for just an easy lan server map.  This is the tutorial I used: https://caddyserver.com/tutorial/beginner

You run everything from Command Prompt, that's how caddy runs. It kind of assumes you know that in the tutorial. I will admit it took me hours of testing and trying to get mine working but hopefully I can save you some time (though I am seeing this post late..)

 

Try this in your cmd:

G:\caddy\caddy.exe -host 111.222.3.4:2015

using your proper drive (mine is G:\) and your ipv4 address.  Usually looks like: 00.00.000.00 and can be found by googling for it. What this line does is it tells caddy to run, and it tells it to host on that IP address with the port 2015. (you may need to portforward that port)

 

I would recommend making a batch file so that you won't have to type that in every time you want to run it/update your map. something like this:

start cmd.exe /k "cd G:/MyMapFolder/ & G:\caddy\caddy.exe -host 111.222.3.4:2015"

This will start a command window that hosts your map files(by accessing the folder they are contained in) through your ip address. Keep in mind you may have to use your internet ipv4 and not the local ip of your machine for it to work.

Then, all you should need to type in to see your map would be that ipaddress plus the :2015 at the end into a browser. Place your bat file in with your map files folder for easy access.

 

The cmd has to be running at all times for your map to be up by the way. I would recommend using the batch after updating with the mapgen updater. Make sure your mapgen config sends the files to where caddy is hosting them from for example:

saveLocation=G:/MyMapFolder

This should match your cmd line.

Let me know if that helps!!

Edited by DragonsGateWU
Further explanation
  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this