Page 7 of 10

Re: Dirtsand Early 2018

PostPosted: Fri May 25, 2018 4:08 am
by J'Kla
I have now done a build using Ubuntu 17.10 Server i386 on a 32bit PC

Using the same instructions.

An advantage of this install is that it has an option during install to actively include postgresql and ssh during the install process by default this postgresql install also includes postgresql-contrib.

I had issues during the install but only because I messed up getting the RC4 keys. ;)

Re: Dirtsand Early 2018

PostPosted: Sat May 26, 2018 3:04 pm
by Korovev
Hmm, still getting disconnected:
Show Spoiler


ages and SDL contains the exact same files as the client. Should ages contain just the *.fni and *.age files, or it needs the *.prp and *.loc too?

By the way, is plClient.exe enough, or I need any of the accessory executables (plCrashHandler.exe, etc)?

Re: Dirtsand Early 2018

PostPosted: Sat May 26, 2018 4:54 pm
by Tsar Hoikas
Tsar Hoikas wrote:You will need to edit the source code for the file AuthServ/AuthDaemon.cpp.

On line 33, you will find this code:
Code: Select all
std::unordered_map<ST::string, SDL::State, ST::hash_i, ST::equal_i> s_globalStates;


Replace it with this code:
Code: Select all
std::unordered_map<ST::string, SDL::State, ST::hash, ST::equal_i> s_globalStates;


Be sure to save and recompile the server by running sudo make install from the build directory. Note that this change will introduce some subtle bugs into DirtSand with regard to SDL states, but these are currently found on the Gehn Shard, so you will not likely notice anything amiss.

Re: Dirtsand Early 2018

PostPosted: Sun May 27, 2018 5:02 am
by J'Kla
The fix provided by Hoikas is already in the listing.

Re: Dirtsand Early 2018

PostPosted: Sun May 27, 2018 2:27 pm
by Korovev
I did that, before launching the server.

Re: Dirtsand Early 2018

PostPosted: Sun May 27, 2018 3:20 pm
by J'Kla
But did you do it Before you ran cmake.

Re: Dirtsand Early 2018

PostPosted: Sun May 27, 2018 5:46 pm
by Deledrius
Korovev wrote:I did that, before launching the server.


J'Kla wrote:But did you do it Before you ran cmake.


J'Kla has this exactly right. If you changed the source, but didn't do it before building (or rebuilding) the server, then what you did is like adding seasoning to your stew in the pot after you already served it up into bowls. The food you're eating doesn't have those additions in them.

Re: Dirtsand Early 2018

PostPosted: Mon May 28, 2018 12:04 am
by Korovev
Yes, I patched and recompiled dirtsand right after recompiling string theory, back in page 5.

J'Kla wrote:Before we proceeded we are going to do a bugfix provided by Hoikas this will be subject to a full repair later but for the time being you need the following actions.

As mentioned, I patched the source and recompiled it, but if I check AuthDaemon.cpp in /opt/dirtsand it does have the correct line.


If it helps, I also wiped the Vault each time I tried with a different ages and SDL content. At Vault initialization (and only then) the server warns about missing the SDLs for the Guild pubs, while it crashes looking for the non-existing AvatarCustomization SDL.

Re: Dirtsand Early 2018

PostPosted: Mon May 28, 2018 1:34 am
by Korovev
In my opinion, the current documentation is fine save for two important omissions:

1. string_theory is barely mentioned, the correct values for -DCMAKE_EXE_LINKER_FLAGS shouldn’t be buried somewhere in the forum. This is in fact my second or third attempt, and I always stopped at “where the hell is string_theory supposed to be?”

2. How to set up the server folders is rather vague; a minimum required default structure would be very useful, something like:
Code: Select all
ages [unencrypted]
    *.fni
    *.age
    *.prp ?
    *.loc ?
SDL [unencrypted]
    *.sdl
authdata
    SDL [encrypted]
        *.sdl ?
    Python [encrypted]
        *.py ?
    *.list ?
data
    ??

Re: Dirtsand Early 2018

PostPosted: Mon May 28, 2018 2:09 am
by J'Kla
Korovev wrote:In my opinion, the current documentation is fine save for two important omissions:

1. string_theory is barely mentioned, the correct values for -DCMAKE_EXE_LINKER_FLAGS shouldn’t be buried somewhere in the forum. This is in fact my second or third attempt, and I always stopped at “where the hell is string_theory supposed to be?”


I don't use "-DCMAKE_INSTALL_PREFIX = /opt/dirtsand" with string_theory only with dirtsand

Korovev wrote:2. How to set up the server folders is rather vague; a minimum required default structure would be very useful, something like:
Code: Select all
ages [unencrypted]
    *.fni
    *.age
    *.prp ?
    *.loc ?
SDL [unencrypted]
    *.sdl
authdata
    SDL [encrypted]
        *.sdl ?
    Python [encrypted]
        *.py ?
    *.list ?
data
    ??


When I figure out a structure I will expand on this but at this time the encryption element is omitted because I have not figured out the how to encrypt and it is apparently not necessary for a LAN based solution.

I don't actually separate the folders by their content I create them in their required locations (locations gleaned from the dirtsand.ini file) at a time when I am using $mkdir to make the build directories and then drop the data into them using an FTP tool because this works.

In time I will look at the content and try and tidy things up.

If I had my way dirtsand would carry explanations for all of the structure a structure I am still trying to understand.

I know I have a method where if I follow all of the steps in the order given I end up with a dirtsand shard that will build and work on a home LAN a method I have built and followed several times every time not just starting with a vault wipe but actually going back to a partition clean out and hard drive format .

OK that is extreme but it was the only way I could guarantee I was not inheriting any overhead from the previous attempt.

As best as I can tell my structure is as follows (subject to revision)

Code: Select all
root
   \opt
       dirtsand
           ages (unencrypted copied in from Destiny)
           SDL (unencrypted copied in from Destiny)
           authdata (empty)
           data (empty)
           string_theory (cloned stuff from git most in the following sub-directories plus 4 files )
               .git
               build (results of cmake ..)
               cmake
               doc
               include
               src
               test
           dirtsand (cloned stuff from git most in sub directories plus 16 other files on of which is your modified dirtsand.ini)
               .git
               AuthServ (contains file Hoikas tells you to edit AuthDaemon.cpp)
               bin
               build (results of cmake -DCMAKE_INSTALL_PREFIX = /opt/dirtsand .. (Note:after Hoikas suggested modification of root/opt/dirtsand/dirtsand/AuthServ/AuthDaemon.cpp)
               cmake
               db (contains .sql files used to pre stuff postgresql database)
               FileServ
               GameServ
               NetIO
               PlasMOUL
               SDL
               Types


I make no excuses for this other than it appears to work. ;)

In fact I think I will add this to the end of the instuctions. 8-)

[edit]
Added to build document
[/edit]

[edit2]
added some more structure to the folder diagram in both places.
[/edit2]