Dirtsand Early 2018

Announcements and discussion regarding any projects related to Cyan Worlds' Plasma Engine including (but not limited to) CyanWorlds.com Engine, Drizzle, OfflineKI, PyPRP, and libHSPlasma.

Re: Dirtsand Early 2018

Postby Chacal » Thu May 17, 2018 6:17 am

Holy cow that's a lot of work.
Good job on this detective work.
Chacal


"The weak can never forgive. Forgiveness is an attribute of the strong."
-- Mahatma Gandhi
User avatar
Chacal
 
Posts: 2508
Joined: Tue Nov 06, 2007 2:45 pm
Location: Quebec, Canada

Re: Dirtsand Early 2018

Postby J'Kla » Thu May 17, 2018 7:33 am

I suppose there is still more to come this is what I get for trying to be a smartarse! Ubuntu server refused to install over the top of a Debian install.

I had to remote log into the server with Putty and remove the partitions with

Code: Select all
$sudo fdisk /dev/sda


Only with the partitions removed would Ubuntu go through the installation process (go figure)

So at this time I have just finished the Ubuntu install again and am about to retry the dirtsand install. ;)
User avatar
J'Kla
 
Posts: 1003
Joined: Wed Feb 20, 2008 3:16 pm
Location: Geordieland UK

Re: Dirtsand Early 2018

Postby J'Kla » Thu May 17, 2018 10:42 am

Update

It would have been nice to know that I need to change the following in dirtsand.ini

# EXTERNAL server addresses -- should probably point to this server for now
File.Host = 123.45.67.89
Auth.Host = 123.45.67.89
Game.Host = 123.45.67.89

I made the assumption that the line "should probably point to this server now" did not mean whats here is a good default I changed all 3 entries to my shard ip address

And when I looked at it there is no way 123456789 with some full stops to make it an ip address is a loopback one. Doh!

I replaced this and the Avatar Customization started working.

but now when I try to take the next step I get "LinkToAge failed" and the shard crashes to the command line with about eight lines of gobbeldy gook followed by a fresh line.

Segmentation fault (core dump)

If I restart the dirtsand I can log in again but this time It assumes the avatar is ready and jumps straight to the LinkToAge failed if I try to create a new avatar no problem till I try to leave the customization.

I will do a fresh install tomorrow and do everything fresh including a clead set of RC4 keys just in case something got corrupted. If I get it again I will try and find a way to capture the gobbeldy gook as well.
User avatar
J'Kla
 
Posts: 1003
Joined: Wed Feb 20, 2008 3:16 pm
Location: Geordieland UK

Re: Dirtsand Early 2018

Postby Tsar Hoikas » Thu May 17, 2018 4:48 pm

Don't do a fresh install, this is a bug in DirtSand under certain circumstances. I will be able to post a solution when I can get to a real computer (currently on phone). Maybe Deledrius will beat me to it :)
Image
Tsar Hoikas
Councilor of Technical Direction
 
Posts: 2180
Joined: Fri Nov 16, 2007 9:45 pm
Location: South Georgia

Re: Dirtsand Early 2018

Postby J'Kla » Thu May 17, 2018 4:57 pm

Too late install started 45 minutes ago lol no big deal this will be about the 30th time this Hard Drive has been formatted on this quest.

[edit]
Rebuild complete awaiting instructions
[/edit]
User avatar
J'Kla
 
Posts: 1003
Joined: Wed Feb 20, 2008 3:16 pm
Location: Geordieland UK

Re: Dirtsand Early 2018

Postby Tsar Hoikas » Fri May 18, 2018 6:39 pm

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.
Image
Tsar Hoikas
Councilor of Technical Direction
 
Posts: 2180
Joined: Fri Nov 16, 2007 9:45 pm
Location: South Georgia

Re: Dirtsand Early 2018

Postby J'Kla » Sat May 19, 2018 12:46 am

Thanks for the prompt response 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.


I presume rather than retro fit this change I was presuming we would be best to do it before we run "cmake .." in the dirtsand directory.

Please tell me if this is wrong. Just out of curiosity is this something that could be changed in the github or is it specific to Shards where this becomes an issue?

Where exactly do we find Auth/Serv/AuthDaemon.cppFound it /opt/dirtsand/dirtsand/Authsever/AuthDaemon.cpp

It looks like with the right instructions we are just removing an underscore i from the segment ST::hash_i,

[edit]
The question still applies is this only a change to imppliment if issues arise?
[/edit]

[edit2]
A quick trial of this has not fixed things I am still getting the error I am out for the morning will take a close look this afternoon I may have got it wrong :o
[/edit2]
User avatar
J'Kla
 
Posts: 1003
Joined: Wed Feb 20, 2008 3:16 pm
Location: Geordieland UK

Re: Dirtsand Early 2018

Postby Deledrius » Sat May 19, 2018 2:35 am

J'Kla wrote:I presume rather than retro fit this change I was presuming we would be best to do it before we run "cmake .." in the dirtsand directory.
Please tell me if this is wrong. Just out of curiosity is this something that could be changed in the github or is it specific to Shards where this becomes an issue?

This is wrong. What Hoikas has given you is a bugfix to help you along that hasn't been merged into the main code yet. It's not something that belongs in the build instructions, because it will be properly fixed soon. There have been a few delays in getting the fix in, which is what you've run into. It will be in the main code in some form Soon™. His instructions are given for the specific purpose and context of patching your existing install and getting it working without the need to once again wipe everything from scratch. If you choose to do that, then in that case you will want to patch the code before running cmake -DCMAKE_INSTALL_PREFIX=/opt/dirtsand .. to build the server.

J'Kla wrote:The question still applies is this only a change to imppliment if issues arise?

No, this is a bugfix that hasn't been merged yet.


From earlier posts:
J'Kla wrote:On of which was could it have been that it was caused by using 64 bit install of Ubuntu I know that Deledrius suggested Ubuntu Desktop but its overhead on the poor grade server that I have is an issue the desktop just brings too much baggage but the Desktop is available as 32 bit install.

I went back and looked Deledrius said he had tried and installed successfully using Ubuntu server in an earlier post and since Ubuntu 18.04 is only availabe as 64bit I have to assume that is an OK option

I didn't suggest Ubuntu Desktop. I presumed that you would be using it, so I tested it first. I have since, as noted, tested both server and desktop 64-bit editions as provided by Canonical. I also run dirtsand on my own private testing environment which is 32-bit Ubuntu 16.04 LTS. None of this is relevant to the problems you are encountering.

J'Kla wrote:
Code: Select all
$ sudo apt-get install build-essential git cmake libpq-dev libssl-dev libreadline-dev zlib1g-dev postgresql postgresql-contrib apache2 php7.2

You don't need apache2 or php7.2 for dirtsand. The status.php you mention is specific to Mystler's implementation for Destiny that you seem to have copied from his dirtsand.ini.


J'Kla wrote:
Code: Select all
Server.Gate.Host "mystler.eu"
Server.Auth.Host "mystler.eu"

Server.DispName "DestinyURU"
Server.Status "https://destiny.mystler.eu/status.php"
Server.Signup "https://destiny.mystler.eu"

Mystler would probably appreciate you not using his server status page for your own server. ;) Also, it's not going to be giving you the status of your own server this way. You note that you changed it for the Server.Gate and Server.Auth host values, but not the Server.Status and Signup values. The example dirtsand.ini might be a better template to use.

J'Kla wrote:You should now be able to highlight this block of code and use [Ctrl][c] to capture this to the clipboard you may get ^c at the prompt but if you are using putty in a windows session you should be able to paste your results into a text editor.

The ^C appears in the console because you have sent the interrupt control character to the console. In fact, if you're using PuTTY, by default it automatically copies highlighted text to the clipboard, and you pressing Ctrl-C is not only NOT performing the copy, but potentially terminating a running process if you have one. I would recommend against assuming that Windows-specific key combinations work the same way in a Linux text console. Don't ignore feedback that the terminal provides and presume it means nothing (this goes double for error messages - they are not gibberish!).
User avatar
Deledrius
Gehn Shard Admin
 
Posts: 1377
Joined: Mon Oct 01, 2007 1:21 pm

Re: Dirtsand Early 2018

Postby J'Kla » Sat May 19, 2018 1:01 pm

I tried to use quote but it quickly got messy and complicated.

But just to help clarify Not only am I trying to build my own testing shard.

I am also trying to write an idiot guide so idiots like ME can follow down this road.

So I understand that Hoikas provided a bug fix (and I thank you Hoikas) I was trying to clarify if the instructions contained in the Bugfix apply to all builds or only those that experience the "LinkToAge failed" message I read that it was only certain circumstances so I was trying to establish what the indicator was that would signal the circumstances that would show the need for the Bugfix.

On the back of that I realised in the process I had been missing "-DCMAKE_INSTALL_PREFIX=/opt/dirtsand" fom inside the dirtsand cmake so some good has come of my misunderstanding.

The confusion over Desktop/Server editions was just confusion and me in effect vocalizing suppositions while I looked for answers (I did understand you had previously made an assumption I am sorry if you thought I was implying you suggested Desktop) I am flopping about here at the end of a very long piece of string (That is not a complaint just my normal learning state). ;)

I know I don't actually need apache2 and php7.2 but in my notes I will explain why they are there.

I know the status.php is specific to Mystler and in my later notes I explain that if someone has used Destiny and its server.ini as a working model for their build and eventually also try this as an option guess what? They will probably need that apache2 and php7.2

My notes will also explain the removal of that pair of pointers. They also mention that you can leave out apache2 and php7.2 but if you have disk space and never use them then there is no big deal.

At the time I was working the only working copy of a server.ini that I knew for certain connected to a dirtsand shard was Destiny now you have pointed me at an alternative I can now edit my notes. Thankyou.

I do understand it would not tell me the status of My server please understand it is a work in progress it was included as was so that if this was the cause of the error it could be seen and corrected.

Putty I learned something new today I have always used [Ctrl][c] because I was using Putty in a windows environment and had never been shown otherwise. That is cool to know I shall add into the instructions.

As for ignoring messages I live life on the edge and if I have issues I reformat the hard drive :lol: Oddly something I have just done again. (go figure). I need to retry with that "-DCMAKE_INSTALL_PREFIX=/opt/dirtsand" inserted

Please do not underestimate how much appreciation I have for all the help you have been giving.
User avatar
J'Kla
 
Posts: 1003
Joined: Wed Feb 20, 2008 3:16 pm
Location: Geordieland UK

Re: Dirtsand Early 2018

Postby J'Kla » Sat May 19, 2018 2:47 pm

[update]

New state and error.

I now get past Avatar creation and I get the slightly greyed out background of a Relto with a Window over it with the Welcome to Uru it has options but before I can even consider them I get a pop up window with the staement

UNTRANSLATED: Neetwork error 6, Disconnected
From Server.
protocol: Game Server

I checked the server it says.

Code: Select all
[Auth] {d9bd6adb-d625-428b-941f-2f9f7b6894cf} signed in as Victor (10104)
[SDL] Requested invalid decriptor version 42 for Personal
[SDL] Received an update for 'AgeSDLHook' using an invalid descriptor!
[SDL] Requested invalid decriptor version 42 for Personal
Segfault at bin/dirtsand(+0x120cf0) [0x5631c0349cf0]
    from bin/dirtsand(+0x120e26) [0x5631c0349e26]
    from /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7fe28d27cf20]
    from bin/dirtsand(_ZNSt6vectorIN3SDL8VariableESaIS1_EEixEm+0x10) [0x5631c0364f0e]
    from bin/dirtsand(_ZN3SDL5State5mergeERKS0_+0x8b) [0x5631c0363ceb]
    from bin/dirtsand(_Z19dm_local_sdl_updateP16GameHost_PrivateP15Game_SdlMessage+0x69) [0x5631c0337048]
    from bin/dirtsand(_Z11dm_gameHostP16GameHost_Private+0xbd) [0x5631c0337346]
    from bin/dirtsand(_ZSt13__invoke_implIvPFvP16GameHost_PrivateEJS1_EET_St14__invoke_otherOT0_DpOT1_+0x34) [0x5631c033d543]
    from bin/dirtsand(_ZSt8__invokeIPFvP16GameHost_PrivateEJS1_EENSt15__invoke_resultIT_JDpT0_EE4typeEOS5_DpOS6_+0x4e) [0x5631c033b0d4]
    from bin/dirtsand(_ZNSt6thread8_InvokerISt5tupleIJPFvP16GameHost_PrivateES3_EEE9_M_invokeIJLm0ELm1EEEEDTcl8__invokespcl10_S_declvalIXT_EEEEESt12_Index_tupleIJXspT_EEE+0x43) [0x5631c0346133]
    from bin/dirtsand(_ZNSt6thread8_InvokerISt5tupleIJPFvP16GameHost_PrivateES3_EEEclEv+0x2c) [0x5631c03460d4]
    from bin/dirtsand(_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJPFvP16GameHost_PrivateES4_EEEEE6_M_runEv+0x1c) [0x5631c03460a4]
    from /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xbe733) [0x7fe28db24733]
    from /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7fe28d6366db]
    from /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7fe28d35f88f]
Segmentation fault (core dumped)


Segfault to Segmentation is one indent the extra indent on the longest line in the middle is some artifact to do with the forum.
User avatar
J'Kla
 
Posts: 1003
Joined: Wed Feb 20, 2008 3:16 pm
Location: Geordieland UK

PreviousNext

Return to Plasma Development

Who is online

Users browsing this forum: No registered users and 10 guests