Bini Format
-
This is a dull subject I know, however, it’s clear to me now that the current bini -> unbini things/tools I use dont work correctly.
I use biniedit and inimassconvert - both create errors on files when compressing.
The errors seem to be based on certain entry strings, but im not sure which strings are causing the problem.
For instance, i have an mbases.ini which uncompressed is 50+MB this compress’s in both ok with no noticeable errors, however, using the same two tools i will get errors when compressing stuff in system, paths and universe inis - all of which are significantly lower in size. When I say errors, I mean that in game paths will not create correctly for waypoint settings or setting waypoints in the system. This also has the effect of no npc at mission waypoints and server crashes. As you know trying to find an error format in a bini document is pretty impossible.
My ini’s are correctly configured and correctly completed - spaces where spaces should be etc etc. I dont use xml code for my mod at all. Currently i have most of my files Bini’d apart from the stuff in Universe and the paths & universe.ini
If anybody wants to offer up their tool for bini then please do, or if they have any observations on the problem, it would interesting to hear.
As a footnote, please remember, text ini’s cause the server no problem at all and everything works perfectly, only when i bini the files in Systems, universe.ini and the paths do these problems occur. There is an obvious reason why i need to bini the files up - efficiency and server load.
-
Bas Westerbahn, or however you spell his name, wrote a document about the bini file format.
His blog is here:
http://blog.w-nz.com/?s=freelancer -
Yeah I have his document, however, Im of the opinion that the bini format doesnt like certain strings with values, or doesnt like a certain number of strings with the same name.
So, for instance, paths in text is ok, paths in original bini is ok, but once you have maybe a certain number of entries in the path, maybe it doesnt work. I…e maybe if you have more than 12 system names in your path file line, it doesnt bini correctly?
Maybe the string entries dont like a certain number of headers which are replicated. [zone]
The more I think about it the more logical this concept is probably correct.EDIT = ah…i have stumbled on a posssible solution…will change my files
-
Heres some info I know that seems to affect it:
Any floats need to keep the decimal point in the number - so
Sort = 99 should be Sort = 99.000000 (as long as it has a decimal point it should be ok > 99.0 should be ok
This will apply to encounters as well:
encounter = area_scavenger, 6, 1.000000
faction = fc_j_grp, 1.000000 > this entry is ok, however
encounter = area_scavenger, 6, 1
faction = fc_j_grp, 1
would not be - i.e. you need the decimal.I don’t know how much of this is critical for bini to work correctly, however, I’m guessing that the more files and size the server is loading the more important that the format is correct.
Another note of interest is the inability for (the tools i have) to deal with decimals to the 5th and 6th place. For instance, Attenuation in the lightsource heading causes an error.
Example - BR02:[lightSource]
nickname = Br02_wight_planet_light
pos = -4800, 0, -29147
color = 226, 194, 158
range = 4000
type = POINT
attenuation = 1, 0, 0.000001I have errors where attenuation values have a 5th or 6th decimal place entry - they are fine upto 4th. This applies to any light entries, including lair flicker and the entries in Nubulas and Asteroids. (basically anywhere that a value in the 5th and 6th decimal place is registered)
My only summize from this is that the text files are dealt with more tolerance than the bini files and as bini format is significantly faster for the server, uses less memory its therefore less tolerant.
Im going to make the changes wholesale to my mod and upload them and see where we end up.
-
Use TINI and BINI at my site. They can convert every vanilla binary file to text and back again. My BINI program even makes slightly smaller files than the originals.
It doesn’t matter what the type is, the ini reader will convert any type to any other type. So if you have 99, BINI will store it as integer; if the ini wants something else, it will simply make the necessary conversion (true, 99.0, or “99”).
-
Hey adoxa, thx for the reply
yeah i checked out the tools on your site,
trouble is im a slacker.
finished up some bits an was lookin at poss re conv to bini
for speed of server ect. but tba i know little or nothing about bini.Used mass ini to conv all but kept getting errors when i start FL or server. figured it was the info in the files causin a prob.
i went through original files to look at what comes bini an whats txt in vanilla so i bini the same files.but even when i use your tools still gettin
header [goods] missin param 1 or param 2
comes in huge spam
some of rebalance’s off variables causin probs ?or is this just my lack of knowledge about what to bini ?
-
I’ve realised what the problem is, now. For text ini files, missing parameters are simply returned as an empty string; for binary files, missing parameters generate the warning. You’re going to have identify the file(s) and add the missing parameters (or even remove the line).
-
yeah i took my initial runs from readin the help
but im a noob an didnt know to put the o with the s or -osWhat u posted worked a treat thx
Also got all the mod files converted,
was the , 1 missing off the addons in the ship packages in goods.ini that was causing the server errors !