Jump to content

Nitrogen World Generator - Usage For Client (non-dedicated) Servers


TallTim

Recommended Posts

Using Nitrogen for world generation is easy, referring to this thread in the forums:

 

https://7daystodie.com/forums/showthread.php?114207-Tool-NITROGEN-a-random-world-generator-for-7DtD

 

Its all fine and good for dedicated servers, but what if you want to use those worlds and play using the "client multiplayer" option from the game itself? (Non-dedicated server.)

 

After a world is generated you'll see files in the Nitrogen\output\<worldname> folder such as:

 

biomes.png

dtm.raw

genHM.png

main.ttw

map_info.xml

prefabs.xml

radiation.png

spawnpoints.xml

splat3.png

water_info.xml

 

That's all fine and good, but if you copy that <worldname> folder to where your 7 Days maps lives - such as:

 

Windows 7 - <windows drive>\Users\<windows user name>\AppData\Roaming\7DaysToDie\GeneratedWorlds\<worldname>

 

And you try to fire up the game and start a new multiplayer to load this map to share with friends -- you won't see it!

 

If you compare your generated world folder to other folders where you've generated worlds using the client, you'll see three different files that weren't there before:

 

dtm_processed.raw

splat3_processed.tga

splat4_processed.tga

 

That implies there's some pre-processing going on before the world can be loaded in, but how to make this happen?

 

After a bit of searching, I found the answer -- not easy since most answers are based on dedicated servers only.

 

When you start the game, use the "Launcher" option via Steam. This provides a dialog that allows you to insert a command argument to be passed to the game when its executed.

 

If you've used serverconfig.xml before you know there's an entry that says "GameWorld" value="Navezgane" as default. What you'll do here is insert the game pref value in the argument passed to the 7 Days client as it starts.

 

(Whats powerful about this method is you can use other properties in serveconfig.xml the same way to specify other things you'd like your client to use.)

 

So like this:

 

-GameWorld="<worldname>" (Yes, put your generated gameworld name in quotes.)

 

This forces the client to use your generated world when you select "New Game" to set up your multiplayer server. Now, you might get an error in the log like "share violation" if you use F1 to see the console - the client will seem to be stuck on the "Initializing World" phase.

 

(My guess is this is a conflict between the client wanting to read the file, but its trying to generate the processed files at the time on the first pass.)

Pay it no mind. Just wait for that error, then close the client out. What the game has done at this point is generate the extra files you need so it will recognize your generated worldname when you start it again -- without needing the extra arguments in the launcher.

 

So restart your game, and now you'll see your <worldname> available for setting up a multiplayer session!

 

Hope this helps someone, it was a bit of messing around to get this to work with the current 18 Alpha.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...