
Regarding dirtsand
Re: Regarding dirtsand
Wow! I got one right for a change 

Re: Regarding dirtsand
I have an automated installation script that sets up a test bed version of dirtsand on a clean Ubuntu 12.04 server.
It installs the necessary software, downloads the repositories, configures and compiles dirtsand, builds the database, and creates a working INI file. For now, it only creates a minimal test bed version on postgresql8.4. I will be making a 9.1 version and hope to expand it to make a production version some day.
The only problem I have left (for the testbed version) is to create an account. Inserting the record is no problem but I can't figure out how to compute the hash for the database... I don't understand C well enough to figure how addact works. Does anyone have a simple command I can use in a bash script to generate a dirtsand compatible hash? I tried using the openssl command but could not reproduce the same hash value.
PM me a solution if you don't want to post it here.
EDIT: Hmm, I guess I need to generate a UUID as well. This may not be possible.
It installs the necessary software, downloads the repositories, configures and compiles dirtsand, builds the database, and creates a working INI file. For now, it only creates a minimal test bed version on postgresql8.4. I will be making a 9.1 version and hope to expand it to make a production version some day.
The only problem I have left (for the testbed version) is to create an account. Inserting the record is no problem but I can't figure out how to compute the hash for the database... I don't understand C well enough to figure how addact works. Does anyone have a simple command I can use in a bash script to generate a dirtsand compatible hash? I tried using the openssl command but could not reproduce the same hash value.
PM me a solution if you don't want to post it here.
EDIT: Hmm, I guess I need to generate a UUID as well. This may not be possible.

Re: Regarding dirtsand
Well, I managed to come up with a couple of ugly but functional scripts that will take a new Ubuntu server and build a minimal but functional dirtsand test bed in about 10 minutes. It installs any missing software prerequisites, sucks down the H-uru repositories, configures, compiles, builds the database and sets up the INI file. I have a version for postgreSQL 8.4 and 9.1. All the user has to do is run the script, start dirtsand, and create an account. (Of course one needs a client but that's another issue.)
The only remaining problem (I know of) is with the create_score() function in functions.sql. For now, I just go into pgAdmin and edit the function right in the database after I run the script. zrax fixed the other issue with the bad CREATE INDEX in the scores table.
If anyone is interested in looking at or playing with these scripts, let me know and I'll provide you a copy. Just be aware that I haven't done any shell scripting for about 20 years and I'm a whole lot rusty. (I did mention these were ugly, didn't I?) It would be nice if I knew enough to write a script to build a production server but I have no plans to run one so... back to cleaning up moul-scripts.
The only remaining problem (I know of) is with the create_score() function in functions.sql. For now, I just go into pgAdmin and edit the function right in the database after I run the script. zrax fixed the other issue with the bad CREATE INDEX in the scores table.
If anyone is interested in looking at or playing with these scripts, let me know and I'll provide you a copy. Just be aware that I haven't done any shell scripting for about 20 years and I'm a whole lot rusty. (I did mention these were ugly, didn't I?) It would be nice if I knew enough to write a script to build a production server but I have no plans to run one so... back to cleaning up moul-scripts.
Re: Regarding dirtsand
Yeah! zrax fixed this one too! Thanks!johnsojc wrote:The only remaining problem (I know of) is with the create_score() function in functions.sql. For now, I just go into pgAdmin and edit the function right in the database after I run the script. zrax fixed the other issue with the bad CREATE INDEX in the scores table.
-
- Councilor of Technical Direction
- Posts: 2180
- Joined: Fri Nov 16, 2007 9:45 pm
- MOULa KI#: 23335
- Location: South Georgia
- Contact:
Re: Regarding dirtsand
Several weeks ago, I tried to do some sanity checking on SDL blobs. From what I can tell, every blob that we receive from the client, DS can now reproduce faithfully. The base64 encoded/decode works correctly as well. What I have not tested is that roundtripping from the database yields the same blob. It sounds like that might be a good thing to test.
Congrats on getting a setup script working, btw! I've been deep inside redesigning an audio system, which has been a nice break from Plasma (hence the radio silence).
Congrats on getting a setup script working, btw! I've been deep inside redesigning an audio system, which has been a nice break from Plasma (hence the radio silence).

Re: Regarding dirtsand
I think there is something subtle happening. I built two identical servers with the only difference being the version of postgreSQL. Using the exact same client, I have noticed almost sublimal differences in the way the game behaves between the two. The most notable 9.1 issue is with the Teledahn pressure plate puzzle where I see the plates not depressed even though a rock is on them. I have not seen that using 8.4. I need to retest this and take names (and logs) and compare.
Now that I'm not chasing some other bug, I will try to play the two versions side by side and see what happens... (if only there was enough time and personal energy to do everything!)
EDIT: NVM. I reproduced the Teledahn prison pressure plate glitch in 8.4. I returned to the prison to find the rocks on the plates but the plates were not depressed. Knocking a rock off and then replacing it causes the plate to be depressed again. Off to analyze the log and see what's happening.
I think the problem is in tldnSlavePrisonDoors.py. At first glance, it appears the the module does not read the SDL state of the levers and plates. If I'm reading it correctly (fat chance) the SDL is only read when a second person enters the Age. I will investigate further and see if I can figure out what's going on.
Now that I'm not chasing some other bug, I will try to play the two versions side by side and see what happens... (if only there was enough time and personal energy to do everything!)
EDIT: NVM. I reproduced the Teledahn prison pressure plate glitch in 8.4. I returned to the prison to find the rocks on the plates but the plates were not depressed. Knocking a rock off and then replacing it causes the plate to be depressed again. Off to analyze the log and see what's happening.
I think the problem is in tldnSlavePrisonDoors.py. At first glance, it appears the the module does not read the SDL state of the levers and plates. If I'm reading it correctly (fat chance) the SDL is only read when a second person enters the Age. I will investigate further and see if I can figure out what's going on.
Re: Regarding dirtsand
as per my post in your other thread, looks like you're onto something here, thanks! 


Re: Regarding dirtsand
I'm not sure a fix is possible. Although the game keeps the state of the levers, I don't think it keeps track of the stones on the pressure plate. You would think it would keep track of which plate was pressed but I see no evidence of that. I'll keep looking since there seem to be several problems in Teledahn. One with the buckets seems to occur if you enter someone else's Age but you have never solved the buckets in your own Age. The bucket brain script crashes.Acorn wrote:as per my post in your other thread, looks like you're onto something here, thanks!
I still cannot get into the spyroom. The error from dirtsand is exactly the same one I got when I (stupidly) changed the SDL file and broke the final journey cloth. This makes me think that I have a problem with the spyroom SDL but I have no tool to inspect the database blob.
Last edited by johnsojc on Thu Aug 08, 2013 4:25 pm, edited 1 time in total.
Re: Regarding dirtsand
It does keep track of the position information for the stones, or at least it should. It's kinda wonky and someone else who knows that better than I will have to answer regarding it.johnsojc wrote:I'm not sure a fix is possible. Although the game keeps the state of the levers, I don't think it keeps track of the stones on the pressure plate. You would think it would keep track of which plate was pressed but I see no evidence of that.Acorn wrote:as per my post in your other thread, looks like you're onto something here, thanks!
Have you tried MoulKI?johnsojc wrote:This makes me think that I have a proplem with the spyroom SDL but I have no tool to inspect the database blob.
Re: Regarding dirtsand
No, but I'll try to compile it... I can't do much worse than I'm already doing (oh, why do I mess with code I don't understand? Because it's fun!)Deledrius wrote: Have you tried MoulKI?