Server Setup for Making Bins
Dependencies:
NOTE: This assumes building an i24 Ouroboros Server
- Setup an i24 Ouro Server as per https://ourowiki.ouro-comdev.com/index.php?title=Volume_2_Server_Setup
NOTE: For binning to work, you must compile from source (x86, Debug), this will generate the proper "Mapserver.exe" and "Ouroboros_Debug.exe" files. For traceability it is recommended to rename the "Mapserver.exe" to "Mapserver_Debug.exe"
- You should end up with a directory structure similar to this IF you compile from source, and complete the server setup instructions:
F:\CoX F:\CoX\Source F:\CoX\Source\bin [We shall call this EXE-DIR] F:\CoX\Source\bin\piggs [We shall call this PIGG-DIR] F:\CoX\Source\bin\data [We shall call this DATA-DIR] F:\CoX\Source\bin\data\bin [We shall call this CLIENT-BIN-DIR] F:\CoX\Source\bin\data\server\bin [We shall call this SERVER-BIN-DIR]
In EXE-DIR, create folders called localdata, serverdata and tools. Tools will be empty but it triggers search behaviour we want in the server.
F:\CoX\Source\bin\serverdata [We shall call this SERVER-DATA-DIR] F:\CoX\Source\bin\localdata [We shall call this LOCAL-DATA-DIR] F:\CoX\Source\bin\tools [We shall call this TOOL-DIR]
- Download Piglet https://build.ourodev.com/archives/
- Extract the ".pigg" files from the PIGG-DIR using Piglet, into the DATA-DIR, then delete the piggs folder.
- /To do this, Run Piglet, File Open Folder, select the "PIGG-DIR", Select Folder, Click on the top level folder in the upper left of the Piglet window, right click and export to the "Data-Dir"
Download the full data set, and put it into SERVER-DATA-DIR. At present this means downloading the following from the magnet links page:
- Paragon Data Directory Dump
- Paragon Data Directory Dump - missing data
Download 5-17 from the same page, and extract dbidmaps.7z to SERVER-DATA-DIR/Defs/dbidmaps/. Do not extract tricks.7z, it is no longer required.
Important: put tricks-full in place FIRST, then tricks on top, overwriting anything it asks you to - tricks-full does not contain tricks in some files for some reason
You should now have something like this:
F:\CoX\Source\Bin\serverdata\AccountServer F:\CoX\Source\Bin\serverdata\AIScript ... ... F:\CoX\Source\Bin\serverdata\texture_library F:\CoX\Source\Bin\serverdata\tricks
Delete the bin files from CLIENT-BIN-DIR and SERVER-BIN-DIR
Delete these from the SERVER-DATA folder:
object_library/Omni/EncounterSpawns/V_Atmospheric/* texture_library/MAPS/city/Map_City_05_03.texture
Move the entire object_library folder from SERVER-DATA-DIR to DATA-DIR to prevent the mapserver crashing when making geobins. Overwrite any files already there from the piggs.
Todo: find a better solution for this:
- City_01_05 (Echo of Atlas Park) and some RP maps seem to be missing.
- Create a blank text file at SERVER-DATA-DIR/maps/City_Zones/City_01_05/City_01_05.txt
- Remove the following section from DATA-DIR/server/db/maps.db:
Container 120 MapName "maps/rp/fire/Events_HeroCon.txt" SafePlayersLow 75 SafePlayersHigh 100 MaxCritters 1000 DontAutoStart 1 Transient 1 ContainerEnd Container 121 MapName "maps/rp/luau/Events_HeroCon.txt" SafePlayersLow 75 SafePlayersHigh 100 MaxCritters 1000 DontAutoStart 1 Transient 1 ContainerEnd Container 122 MapName "maps/rp/harvest/Events_HeroCon.txt" SafePlayersLow 75 SafePlayersHigh 100 MaxCritters 1000 DontAutoStart 1 Transient 1 ContainerEnd Container 123 MapName "maps/rp/halloween/Events_HeroCon.txt" SafePlayersLow 75 SafePlayersHigh 100 MaxCritters 1000 DontAutoStart 1 Transient 1 ContainerEnd Container 124 MapName "maps/rp/winter/Events_HeroCon.txt" SafePlayersLow 75 SafePlayersHigh 100 MaxCritters 1000 DontAutoStart 1 Transient 1 ContainerEnd
IMPORTANT |
---|
If you are running the mapserver to make bins and there are other mapservers running on the same machine, you must add -nosharedmemory to the command line to ensure it loads the files from disk, not from the mapserver shared memory pool. This is not required when using -createbins as that turns off shared memory implicitly. |
From the command line navigate to EXE-DIR and run
mapserver.exe -createbins -verbose 2
It will take a while but should populate SERVER-BIN-DIR.
Next, run
ouroboros_debug.exe -console -createbins -verbose 2 -project cov
This will again take a while and populate CLIENT-BIN-DIR. The client will close automatically when finished. I recommend using project cov, or some other throwaway project, for all non-production client use to avoid it accidentally messing up your main install settings. You MUST use ouroboros_debug not ouroboros, as the production client won't look for the server data folders.
Note: Both mapserver and ouroboros_debug will spew out errors, we will eventually track down and fix all these
To make changes, copy the file you want to edit from SERVER-DATA-DIR to the same place in LOCAL-DATA-DIR and edit it, then rebuild bins by running mapserver and/or ouroboros-test as needed, without the -createbins argument. Note that some files created in SERVER-BIN-DIR need to be copied to CLIENT-BIN-DIR as they are shared between server and client. These bins are the ones that are in your original bins.pigg.
You should be able to run the server and client as normal from this setup, but I don't recommend it for a production server: test things then copy your new bins to a normal setup that uses piggs.