Server Setup for Making Bins: Difference between revisions

From OuroDev
BubbleWrap (talk | contribs)
Added note about -nosharedmemory
Etheric (talk | contribs)
m Fixed ouro-comdev link
 
(26 intermediate revisions by 4 users not shown)
Line 1: Line 1:
First, install a new copy of the server using the normal setup instructions and check it works. You should end up with a directory structure similar to this:
This is a work in progress
 
*Shortcut: https://mega.nz/#!m2ollKyR!qQnxof2dnRelXPClQi6f2_xxGoyabcNWgVp-anPXsb0
 
Dependencies:
 
NOTE: This assumes building an i24 Ouroboros Server from "Source"
 
* Setup an i24 Ouro Server as per https://wiki.ourodev.com/view/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:


<pre>
<pre>
Line 11: Line 23:
</pre>
</pre>


In EXE-DIR, create folders called localdata, serverdata and tools. Tools will be empty but it triggers search behaviour we want in the server.
* In EXE-DIR, create folders called localdata, serverdata and tools. Tools will be empty but it triggers search behaviour we want in the server.
* Copy "mapserver_debug.exe", and "ouroboros_debug.exe" from the \bin folder, to the "DATA-DIR".
* Copy all "*.dll" files from the \bin folder, to the "DATA-DIR".


<pre>
<pre>
Line 19: Line 33:
</pre>
</pre>


Extract all of your piggs from PIGG-DIR into DATA-DIR, then delete the piggs folder.  
* Download Piglet https://build.ourodev.com/
 
* Extract the ".pigg" files from the PIGG-DIR using Piglet, into the DATA-DIR, then delete the piggs folder.
Download the full data set, and put it into SERVER-DATA-DIR. At present this means downloading the following from the [https://ourowiki.ouro-comdev.com/index.php?title=Magnet_Links magnet links] page:
* 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"
* Paragon Data Directory Dump
* Paragon Data Directory Dump - missing data
* Download the full data set, and extract to SERVER-DATA-DIR. At present this means downloading the following from the [[Magnet_Links|magnet links]] page:
<s>
** Paragon Data Directory Dump (Faptastic)
* [https://www.dropbox.com/s/doma9x1i25ce7md/TRICKS-Full.7z?dl=0 TRICKS-Full.7z]
** Paragon Data Directory Dump - missing data (Voldemort)
* [https://www.dropbox.com/s/g92rnu9biy0ezaz/FX-part.7z?dl=0 FX-part.7z]
</s>
 
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.


<s>'''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'''</s>
* Download 5-17 from the same page, and extract dbidmaps.7z to SERVER-DATA-DIR/Defs/dbidmaps/.
NOTE: Do not extract tricks.7z, it is no longer required.


You should now have something like this:
You should now have something like this:
Line 43: Line 54:
</pre>
</pre>


Delete the bin files from CLIENT-BIN-DIR and SERVER-BIN-DIR
* Back up the "CLIENT-BIN-DIR" and the "SERVER_BIN_DIR" before the next step.
 
* Delete the bin files from CLIENT-BIN-DIR and SERVER-BIN-DIR
Delete these from the SERVER-DATA folder:
* Delete these from the SERVER-DATA folder:
<pre>
<pre>
object_library/Omni/EncounterSpawns/V_Atmospheric/*
object_library/Omni/EncounterSpawns/V_Atmospheric/*
Line 51: Line 62:
</pre>
</pre>


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.
* Cut the object_library folder from SERVER-DATA-DIR and paste 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
* 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:
* Remove the following section from DATA-DIR/server/db/maps.db:
Line 111: Line 120:
|}
|}


From the command line navigate to EXE-DIR and run <pre>mapserver.exe -createbins -verbose 2</pre>
From the command line navigate to EXE-DIR and run <pre>mapserver_debug.exe -createbins -verbose 2</pre>
It will take a while but should populate SERVER-BIN-DIR.
It will take a while but should populate SERVER-BIN-DIR.


Next, run <pre>ouroboros_test.exe -console -createbins -verbose 2 -project cov</pre>
Next, run <pre>ouroboros_debug.exe -console -createbins -verbose 2 -project cov</pre>
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_test not ouroboros, as the production client won't look for the server data folders.''
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_test will spew out errors, we will eventually track down and fix all these'''
'''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.
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.

Latest revision as of 12:40, 12 April 2020

This is a work in progress

Dependencies:

NOTE: This assumes building an i24 Ouroboros Server from "Source"

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.
  • Copy "mapserver_debug.exe", and "ouroboros_debug.exe" from the \bin folder, to the "DATA-DIR".
  • Copy all "*.dll" files from the \bin folder, to the "DATA-DIR".
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/
  • 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 extract to SERVER-DATA-DIR. At present this means downloading the following from the magnet links page:
    • Paragon Data Directory Dump (Faptastic)
    • Paragon Data Directory Dump - missing data (Voldemort)
  • Download 5-17 from the same page, and extract dbidmaps.7z to SERVER-DATA-DIR/Defs/dbidmaps/.

NOTE: Do not extract tricks.7z, it is no longer required.

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
  • Back up the "CLIENT-BIN-DIR" and the "SERVER_BIN_DIR" before the next step.
  • 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
  • Cut the object_library folder from SERVER-DATA-DIR and paste to DATA-DIR to prevent the mapserver crashing when making geobins. Overwrite any files already there from the piggs.
  • 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_debug.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.