Jump to content

A19e Nitrogen - UNSTABLE


Damocles

Recommended Posts

Ich habe es vor kurzem geschafft die Map zu laden, jedoch, so wie es scheint, etwa einfacher.

Nachdem ich die Map erstellt und Offline gestartet hatte, habe ich die Dateien im Ordner Users\Nutzer\AppData\Roaming\7DaysToDie\Saves\NitroGenMap\Test per FileZilla in denn \saves Ordner des Servers geschoben. Dann habe ich in den serverconfig Folgende Werte geنndert damit der Seedname und Weltname gleich ist.

 

<property name="WorldGenSeed" value="NitroGenMap"/>

<property name="GameName" value="Test"/>

 

Was ich nun aber vergessen habe ist das der GameWorld eintrag noch auf RWG gestellt war und dadurch die Welt immer wieder vom Server eben als RWG neu erstellt wurde. Da das Dashboard auf der website bei der auswahl der GameWorld nur RWG und Navezgane zulنsst musste ich denn eintrag auch auf

 

<property name="GameWorld" value="NitroGenMap"/>

 

نndern damit der Server die Datein des Ordners nimmt ohne sie zu überschreiben.

Jetzt darf ich aber keine نnderungen im Dashboard mehr ausführen da er es, wenn man es speichert, sofort wieder denn mit RWG überschreibt. Also alles nun manuell mit serverconfig abنndern.

 

Kann es sein das die Anleitung für Server ist die man komplett selber aufsetzen muss? Ich habe bei gPortal automatisch ein 7dtd Sevrer erstellt bekommen und musste zb Punkt 1 und 2 gar nie machen.

 

Yes, the explanations of zootal do way more than required as I stated before.

The only things you do need to do: Make sure the GameWorld config value has the name of your custom world and put the world in a location the game can find (locations listed in the linked post).

 

Explicitly overriding UserDataFolder only helps with finding the location by actually defining it yourself. A good game server provider would not even allow you to change the UserDataFolder / SaveGameFolder or any of the port settings :)

Link to comment
Share on other sites

Yes, the explanations of zootal do way more than required as I stated before.

The only things you do need to do: Make sure the GameWorld config value has the name of your custom world and put the world in a location the game can find (locations listed in the linked post).

 

Explicitly overriding UserDataFolder only helps with finding the location by actually defining it yourself. A good game server provider would not even allow you to change the UserDataFolder / SaveGameFolder or any of the port settings :)

 

 

And this is why I never use "pure" game server providers. I'd go crazy, and it just wouldn't meet my needs. ;)

 

 

@Eddenbaum:

 

Nun, zootal *empfiehlt* halt nur in seinem Beitrag, UserDataFolder und SaveGameFolder zusammenzulegen. Das habe ich nicht 100% korrekt übersetzt, auch, weil ich nicht wusste, ob es so sein *muss*. Ich hatte es bei mir gemacht, und es funktioniert. Hinzu kommt, dass ich NitroGen für viele MOD-Karten (Ravenhearst, Darkness Falls) nutze und gerne einen gewissen ـberblick behalte, weswegen ich bei mir diese Ordner generell immer selbst definiere und das auch nicht schlecht finde. (Wobei ich halt aus Organisationsgründen auch einen 7 Days to Die-Servermanager verwende, damit ich mir keine Originalwerte zerschieكe und meine Sachen auch wiederfinde.)

 

Alloc hat aber geschrieben, was Du eigentlich nur brauchst, da zootals Infos wohl wirklich etwas zu viel des Guten sind.

 

Grüezi

Link to comment
Share on other sites

Reworked instructions for setting up a dedicated server using a NitroGen Map

 

Greetings once again,

 

I felt that the provided information on the 'How to set up a dedicated server with a NitroGen map' subject was a little too stretched out, so I took all relevant instructions by Damocles, zootal and Alloc and put them together in an updated form. Also included it in the GitHub's prefab repository ReadMe (see this thread's first page), new section 0, to whom it may concern:

 

 

Instructions for setting up a dedicated server with a NitroGen map:

 

1. After creating your NitroGen map, you need to transfer the map to your server. It's convenient to use a packer, e.g. 7-Zip (https://www.7-zip.org/), for this. (You'd also need a packing program on your server to unpack the file again after the transfer, of course.) This way, you only need to transfer one big file, not many small ones.

 

The default folder location for a NitroGen-generated map is:

 

NitroGen_WorldGenerator\output\NitroGenMap

 

Before packing the folder contents into one big file, you can delete the map preview files from the folder (copy them someplace else before, if you need them):

 

genHM.png

poiHM.png

previewMap.png

 

These files are rather large and would add to the total map size to be transferred, as well as forcing all clients connecting to your 7 Days to Die server later to download them as well, therefore delaying the actual first gameplay for the clients.

 

For the actual file transfer, you need an appropriate access / program for your server (Remote Desktop Connection, PuTTY, whatever). I won't go into too many details here, as there are many instructions to be found on the Internet and elsewhere on how to do this. (For example, quite convenient is Remote Desktop Connection with copy & paste, if you have a Windows operating system and sufficient rights on your (Windows) server.)

 

 

2. Next, unpack the transferred file in an appropriate location for 7 Days to Die to find it. For this, you have the following options; either:

 

- put it under the game's regular UserDataFolder (e.g. %APPDATA%/7DaysToDie/GeneratedWorlds/NitroGenMap on Windows).

- put it in the save game's own folder (e.g. %APPDATA%/7DaysToDie/SaveGames/NitroGenMap/MySavegame/World, assuming you use Windows and the default SaveGameFolder).

- put it in a MOD folder (recommended; e.g. <7 Days to Die root folder>/Mods/NitroGen_Maps/Worlds/NitroGenMap_001).

- put it in the game's own Worlds folder (not recommended, as this is the most likely place to lose your worlds on updates or similar; e.g. <7 Days to Die root folder>/Data/Worlds/NitroGenMap).

 

Another option is to define / override the game's UserDataFolder location by setting it yourself in the game's serverconfig.xml file:

 

<property name="UserDataFolder" value="/<folder of your choice>" />

 

This, however, is not really necessary and mainly serves a preferred personal taste for this folder's location. (Similar to changing the game's SaveGameFolder location: <property name="SaveGameFolder" value="/<folder of your choice>" />, which can be done, but is not needed to make a NitroGen map work on a dedicated server.)

 

 

3. Within the serverconfig.xml file, located in your 7 Days to Die root folder, define the GameWorld config value, so that it maches the exact name of your generated NitroGen map.

 

Regular GameWorld values would be Navezgane (for a standard Navezgane map) and RWG (for a randomly generated world). A NitroGen map is an additional / different map type with its own name, which is defined when you create a map in the NitroGen generator. The game doesn't know about that name, so you must insert it yourself to make it actually use the NitroGen map in-game.

 

Example:

 

Your NitroGen map folder is called My_NitroGenMap_001.

 

Insert / change this line in your serverconfig.xml file:

 

<property name="GameWorld" value="My_NitroGenMap_001"/>

 

Now you should be good to go. Run the 7 Days to Die server, and let your clients connect.

 

 

4. Additional information:

 

The values WorldGenSeed and WorldGenSize within the serverconfig.xml are only relevant for the game's own random world generator, meaning if the GameWorld value is set to RWG. They do nothing for a NitroGen map.

 

 

 

I hope all of this is correct now.^^ If not, shout.

 

Many thanks to Alloc, zootal and Damocles once again.

 

 

Cheers

Link to comment
Share on other sites

Any chance to tweak the trader spawn to always include at least all 5 canon traders? Maybe even an option to spawn only one of each? Great work so far!

 

Yes that could be done in code. I currently dont work on Nitrogen (other projects ongoing) but will revisit when A18 is out in experimental.

 

You could manually edit the prefabs.xml (before starting a new game) and make sure to have all traders represented

 

settlement_trader_01

settlement_trader_02

settlement_trader_03

settlement_trader_04

settlement_trader_05

 

Just change the filename of a trader to one that is not included yet.

Link to comment
Share on other sites

Yes that could be done in code. I currently dont work on Nitrogen (other projects ongoing) but will revisit when A18 is out in experimental.

 

You could manually edit the prefabs.xml (before starting a new game) and make sure to have all traders represented

 

settlement_trader_01

settlement_trader_02

settlement_trader_03

settlement_trader_04

settlement_trader_05

 

Just change the filename of a trader to one that is not included yet.

 

Thanks kindly! I wasn't sure if that would break anything, so that's good to know. Loving my new gen world so far.

Link to comment
Share on other sites

Feature Request:

 

Set Water Height (in numbers)

 

...would allow for a specific water height in the world, and would ensure roads do not spawn below this height.

 

The issue right now is I'm playing with my own DTM's and letting NitroGen do the rest, but unfortunately it's generating roads below my self imposed water table.

Link to comment
Share on other sites

Not worth pinning, but this is a demonstration of what you can do using Unity/Gaia to create a height map and NitroGen to generate the roads/prefabs. I've still some stuff to learn, but it's coming along nicely.

 

[video=youtube_share;2jAB7RIogO0]

Link to comment
Share on other sites

Feature Request:

 

Set Water Height (in numbers)

 

...would allow for a specific water height in the world, and would ensure roads do not spawn below this height.

 

The issue right now is I'm playing with my own DTM's and letting NitroGen do the rest, but unfortunately it's generating roads below my self imposed water table.

 

Nice test with the vulcano world.

I will have a look on what can be put into the config to adjust for waterlevels and road-bridges on custom maps.

 

There probably needs to be a separate mode the generator is running, as the default automatic generation (for normal users) would get into conflict with certain settings.

 

The stripe in the water is a bug in 7DtD, that can happen near shallow shorelines.

There, the waternodes dont seem to fill in the gap when applying the water-voxels.

 

You can try to change both (up of down)

TER_WATER_SPAWN_AT = 33

TER_BASE_HIGHT = 35

in the config, to adjust the water hight.

 

Using the mask with city spawner-pixels is the best way to have control over the road and POI positions.

There is an example mask & hightmap included for reference.

Edited by Damocles (see edit history)
Link to comment
Share on other sites

Thanks homie. I'm looking forward to continued use with NitroGen as part of my normal workflow for creating custom worlds.

 

...I uploaded that world for use in the prefabs section, I'd love to see custom world creation become a huge part of modding.

Link to comment
Share on other sites

A quick question, I'm considering trying this tool to generate a 8 or 9K map for Darkness Falls, but I am wondering if there can be set to always spawn atleast a certain or higher amount of a POI, or force it to spawn atleast one of each on the map?

Link to comment
Share on other sites

Damocles, can you give me a breakdown of how water.xml works? I just can't seem to "get it", and I figure that since you coded something

to write them, you understand it.

 

This is for an 8k map:

 

<Water pos="-4064,33,-4064" minx="-4096" maxx="4096" minz="-4096" maxz="4096"/>

 

...so I figure the -4064,33,-4064 is the lower left corner of the map (well, padded in a small 32 border) and the water level is going to be 33 high for 4096 blocks to the east and 4096 blocks to the west.

 

Applying THAT logic, I can't get custom areas to work.

 

What are the tricks/limitations/etc? Thanks!

Link to comment
Share on other sites

A quick question, I'm considering trying this tool to generate a 8 or 9K map for Darkness Falls, but I am wondering if there can be set to always spawn at least a certain or higher amount of a POI, or force it to spawn atleast one of each on the map?

 

You can increase the number of POIs of a specific type to spawn by doublicating the entry prefabslist.txt (that was expanded by the Darkness Falls POIs)

 

such like doublicating an entry:

 

barn_01,INDUSTRIAL,2,-1,21,11,22,farm

barn_01,INDUSTRIAL,2,-1,21,11,22,farm

 

will make barn_01 twice as likely to spawn. Its considered a "new" POI type then.

 

With a big enough map / enough cities (having more POIs overall generated than POI templates) its very unlikely that a POI is not spawned.

 

When spawning, the generator checks if a POI was spawned before, it chooses one that was not used before (provided its the needed zone-type)

So all POIs have a good chance to be used.

 

There is no flag to force spawning a POI though.

Link to comment
Share on other sites

Damocles, can you give me a breakdown of how water.xml works? I just can't seem to "get it", and I figure that since you coded something

to write them, you understand it.

 

This is for an 8k map:

 

<Water pos="-4064,33,-4064" minx="-4096" maxx="4096" minz="-4096" maxz="4096"/>

 

...so I figure the -4064,33,-4064 is the lower left corner of the map (well, padded in a small 32 border) and the water level is going to be 33 high for 4096 blocks to the east and 4096 blocks to the west.

 

Applying THAT logic, I can't get custom areas to work.

 

What are the tricks/limitations/etc? Thanks!

 

the water position will go from -1/2 the map-size to +1/2 the map size

 

so on a 4096*4096 map, a position of 0,0 will be right in the center, and -2047,2047 on the bottom left corner

(south-west)

 

The z-hight is just the blockhight above zero (lowest bedrock) level.

 

The generator will spawn waternodes in an even grid, with nodes 64 spawned tiles apart, to try an fill in all sub-waterlevel areas.

The game will then "floodfill" starting from the nodes center until it reaches terrain above the z-hight or the maxx etc position (kept really big here for simplicity), and create the local water--voxels.

 

This works most of the time, but could "miss" to place a node in narrow canyons and channels (when narrower than 64 meters). I could increase the density of the nodes, but that might cause performance issues during the games initial map creation at one point.

 

You could delete all the water-spawners after the "<!-- spawners for large lakes -->" comment in the xml,

and then handplace the water spawners (one for each large lake or river to fill up). The positions can be determined by the pixel position (for x and y you have to shift the pixelpoisiton by half the maps size)

 

The bug with the empty-gap inside of bodies of water is probably some bug in the games floodfill algorithm, and seem to appear near shallow costlines.

 

Othe bugs can happen when there are road-splatmap pixels inside water. It will then keep the road free of water (probably a fix for some issue in the RWG or limit with the terrain-shaders)

Edited by Damocles (see edit history)
  • Like 1
Link to comment
Share on other sites

Would it be possible to have a flat map generated with the top, bottom and sides be mountains?

 

You have to make you own hightmap when you need a specific layout.

Its not hard to make, just drawing a grayscale png image that gets imported. (there is a reference image in the resources)

 

You could also generate a mountainous map, generate it, and then open the hightmap image in a graphics program, and flatten the middle, and import it again. (This will give you more detail than a painted map).

Edited by Damocles (see edit history)
Link to comment
Share on other sites

  • SylenThunder changed the title to A19e Nitrogen - a Random World Generator for 7DTD
  • SylenThunder changed the title to A19e Nitrogen - UNSTABLE
  • SylenThunder locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...