• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

A19e Nitrogen - UNSTABLE

Status
Not open for further replies.
Hey, I'd really like to give this a go since RWG sucks so bad in A17. I downloaded your tool and the latest Java version, but when I start it using your batch file I get this warning:

#### WARNING #####

Cannot detect a 64 bit Java VM, you might run this programm in 32 a bit Java VM. please make sure you run a 64 bit installation of Java to avoid out of memory errors

##############

Then, when I try to generate a default 8K world, I get this error in the console:

Exception in thread "Thread-2" java.lang.OutOfMemoryError: Java heap space

at java.awt.image.DataBufferByte.<init>(Unknown Source)

at java.awt.image.Raster.createInterleavedRaster(Unknown Source)

at java.awt.image.BufferedImage.<init>(Unknown Source)

at nitrogen.terraingen.c.b(Unknown Source)

at nitrogen.gui.NitroGenUI.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

I have 64bit Windows 10 and 16GB of RAM. Why is this happening?

 
Open a command shell (cmd in Windows), and type in

java -version

this show the version of java that the OS is using as active installation,

it might point to a 32bit version.

The 64 bit version is needed to reserve more memory for the larger map sizes.

Its often the case that several java versions are installed.

Can you tell me what java -version prints out?

 
Here it is:

java -version

java version "1.8.0_211"

Java SE Runtime Environment (build 1.8.0_211-b12)

Java HotSpot Client VM (build 25.211-b12, mixed mode, sharing)

Also, here's this from the Java control panel. Seems to not be an x64 version that got installed. I wonder why?

Capture.jpg

 
Last edited by a moderator:
I had to go to this link - https://java.com/en/download/manual.jsp

- and choose the Windows offline 64 bit installer to get it to install a 64 bit version. Now I get this:

java -version

java version "1.8.0_211"

Java SE Runtime Environment (build 1.8.0_211-b12)

Java HotSpot 64-Bit Server VM (build 25.211-b12, mixed mode)

And:

Capture.jpg

Seems to be working now. Thanks for the quick reply and help, though!

 
Thats why I've build in this version check message (Java can not clearly state what version it is using internal lookups for whatever reason),

Often there are several versions installed over time, and NitroGen is probably one of the few instances where that 64bit really matters (heap memory).

 
I'm running a 16K NitroGen generated world. It works great, the world is beautiful, and my players are saying it's the best looking world they have ever seen. However, when anyone joins the server, the get a line in the client console that says:

EndOfStreamExceptoin Failed to read past end of Stream

There is nothing in the server log that I can see, but the client log has this:

2019-05-03T22:13:48 26.755 INF Started thread ChunkRegeneration

2019-05-03T22:13:48 26.755 INF Started thread ChunkCalc

EndOfStreamException: Failed to read past end of stream.

at PooledBinaryReader.FillBuffer (Int32 _numBytes) [0x00000] in <filename unknown>:0

at PooledBinaryReader.ReadInt32 () [0x00000] in <filename unknown>:0

at GameStats.Read (System.IO.BinaryReader _reader) [0x00000] in <filename unknown>:0

at NetPackageGameStats+<readStatsCo>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0

at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00000] in <filename unknown>:0

The client then proceeds to finish connecting to server and gameplay proceeds without any problem. The players can play for hours and nothing seems to be wrong anywhere.

Is anyone else running a 16K world and do your clients see this when connecting to server?

 
Just wanted to comment on my NitroGen 16k world. It's the best looking world I've ever seen in A17, and really one of the best we have ever played. Dang fine work there! TFP should hire you to fix RWG!

 
It is surprisingly easy to get this to work.
1) I recommend you specify the save game folder for your server, this is what I put in serverconfig.xml:

<property name="SaveGameFolder" value="/home1/sd/saved_games" />

Create the directory, and under it create the directory GeneratedWorlds. If your server root is /home1/sd like mine is, you should have:

/home1/sd/saved_games/GeneratedWorlds

2) Make these changes to your serverconfig.xml, these are what I use but you can use whatever you want. In this case my server name is "Vomiting Spleens", and the game world and seed is NitroGenMap_4096_flat_snow. I'm not sure what would happen if GameWorld and WorldGenSeed were different, I didn't try to find out as I was a bit short on time. I kept them the same and it worked great.

<property name="ServerName" value="Vomiting Spleens"/>

<property name="ServerDescription" value="Vomiting Spleens"/>

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

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

<property name="WorldGenSize" value="4096"/>

<property name="GameName" value="Vomiting Spleens"/>

3) Use NitroGen to generate your world, give it the same name you use for GameWorld above. I used NitroGenMap_4096_flat_snow because it was a 4K flat snow world.

4) Copy the directory NitroGenMap_4096_flat_snow from the NitroGen output directory to the GeneratedWorlds directory. You should have:

/home1/sd/saved_games/GeneratedWorlds/NitroGenMap_4096_flat_snow

5) Cross your fingers, pray to the diety of your choice, and start the server. It will take this template and generate the world:

/home1/sd/saved_games/NitroGenMap_4096_flat_snow

When the server finishes generating the world, join the server and enjoy!

This works for me, YMMV. The above creates a 4096 world, I kept it small for testing. After I saw that it worked, I then created a 16K world, which likewise worked great.

Try it and let us know what happens.


In my serverconfig.xml file.....

<property name="ServerName" value="Map Test Server"/>

<property name="ServerDescription" value="Testing Generated Maps"/>

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

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

<property name="WorldGenSize" value="4096"/>

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

<property name="SaveGameFolder" value="C:\Tester Server Saves" />

_____________________________________________________________________________

Map directory is C:\Tester Server Saves\GeneratedWorlds\Fuddruckers

My server starts but the cmd window showing everything loaded flickers in and disappears.

 
In my serverconfig.xml file.....

<property name="ServerName" value="Map Test Server"/>

<property name="ServerDescription" value="Testing Generated Maps"/>

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

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

<property name="WorldGenSize" value="4096"/>

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

<property name="SaveGameFolder" value="C:\Tester Server Saves" />

_____________________________________________________________________________

Map directory is C:\Tester Server Saves\GeneratedWorlds\Fuddruckers

My server starts but the cmd window showing everything loaded flickers in and disappears.
What is in the server log? That might tell us what the server does not like.

And does the server have read/wrote access to that directory?

I'm assuming Fuddruckers was a 4K world?

Your settings look just fine. I have a Windows 7 VM I'm going to try your settings on, and I'll get back here in about a half hour with my results.

 
What is in the server log? That might tell us what the server does not like.
And does the server have read/wrote access to that directory?

I'm assuming Fuddruckers was a 4K world?

Your settings look just fine. I have a Windows 7 VM I'm going to try your settings on, and I'll get back here in about a half hour with my results.
I haven't checked the log...soon as I can find it I will see what it says :)

As far as I know the server can read/right to that directory

Not sure how to know if it was 4K. Did I have to pick that as an option?

My utter lack of knowledge on a lot of this stuff is showing through lol

EDIT: I did find this in the log file...

2019-05-04T16:11:31 2.172 ERR Error starting dedicated server: GameWorld "Fuddruckers" not found!

2019-05-04T16:11:31 2.256 INF Closing Terminal Window

2019-05-04T16:11:31 2.282 INF WinThread ended

2019-05-04T16:11:31 2.282 INF Ended Terminal Window

 
Last edited by a moderator:
The default in NitroGen is an 8k map, you might just have to change the size to 8192 x 8192

<property name="WorldGenSize" value="8192"/>

You probably also have to change the name of the generated map folder (the one you copy over) to your chosen name,

the default folder name is NitroGenMap

 
Last edited by a moderator:
I haven't checked the log...soon as I can find it I will see what it says :)
As far as I know the server can read/right to that directory

Not sure how to know if it was 4K. Did I have to pick that as an option?

My utter lack of knowledge on a lot of this stuff is showing through lol

EDIT: I did find this in the log file...

2019-05-04T16:11:31 2.172 ERR Error starting dedicated server: GameWorld "Fuddruckers" not found!

2019-05-04T16:11:31 2.256 INF Closing Terminal Window

2019-05-04T16:11:31 2.282 INF WinThread ended

2019-05-04T16:11:31 2.282 INF Ended Terminal Window
Yeah, it doesn't like something related to your world. I'm almost done setting it up to test on my end, I'll post back in a bit with results....

 
My SaveGameFolder points directly to the generated world, not just the save-game root. perhaps it's that?

while my generated map is called map_test

Mine looks like this for example:

name="GameWorld" value="map_test"

name="WorldGenSeed" value="map_test"

name="WorldGenSize" value="122888"

name="GameName" value="map_test"

name="SaveGameFolder" value="/opt/sdtd/instances/map_test"

with my world stored in the servers "Worlds" directory. working perfectly. got a testserver and my community server up for weeks now.

 
My SaveGameFolder points directly to the generated world, not just the save-game root. perhaps it's that?
while my generated map is called map_test

Mine looks like this for example:

name="GameWorld" value="map_test"

name="WorldGenSeed" value="map_test"

name="WorldGenSize" value="122888"

name="GameName" value="map_test"

name="SaveGameFolder" value="/opt/sdtd/instances/map_test"

with my world stored in the servers "Worlds" directory. working perfectly. got a testserver and my community server up for weeks now.


I get the same error with your settings.

The fix is to to set both UserDataFolder *and* SaveGameFolder to "C:\Tester Server Saves". Do that and it should work. Don't forget to un-comment them :) .

 
My SaveGameFolder points directly to the generated world, not just the save-game root. perhaps it's that?
while my generated map is called map_test

Mine looks like this for example:

name="GameWorld" value="map_test"

name="WorldGenSeed" value="map_test"

name="WorldGenSize" value="122888"

name="GameName" value="map_test"

name="SaveGameFolder" value="/opt/sdtd/instances/map_test"

with my world stored in the servers "Worlds" directory. working perfectly. got a testserver and my community server up for weeks now.
SaveGameFolder can probably be anything/anywhere you want, I think it is UserDataFolder that needs GeneratedWorlds under it, and then SaveGameFolder is where the actual saved world goes. In my case I set them both the same and it works. Sometimes I change settings and use different seeds/servers, so because of that my SaveGameFolders is the save game root, rather than the actual world save, but like I said I don't think it really matters.

I might be wrong, the serverconfig.xml documentation is a bit sparse and I don't have time to test it atm.... I just set both of them the same and it magically works. But I think his problem was he did not set UserDataFolder.

I blame that on my documentation, I neglected to mention that I set both of them, and he probably just followed my instructions. In that case I sincerely apologize - that is a critical step, setting UserDataFolder.

 
Hey, Damocles, can you add to the post you copied to the main post here that gives dedicated server instructions?

Step 1 should start like this:

1) I recommend you specify the save game folder for your server, this is what I put in serverconfig.xml:

<property name="SaveGameFolder" value="/home1/sd/saved_games" />

<property name="UserDataFolder" value="/home1/sd/saved_games" />

My apologies to anyone that I might have messed up with that omission. I always do both and just assumed everyone else would also....

 
I get the same error with your settings.
The fix is to to set both UserDataFolder *and* SaveGameFolder to "C:\Tester Server Saves". Do that and it should work. Don't forget to un-comment them :) .
yup, that got it done is seems like so far....thank you very much.

you too Damocles

 
A hint for hosting very large server maps, NitroGen creates several intermediary outputs:

-genHM.png

-poiHM.png

-previewMap.png

They could be deleted before hosting the game, so the clients dont download those images (takes more time than necessary)

 
Status
Not open for further replies.
Back
Top