smcameron / space-nerds-in-space

Multi-player spaceship bridge simulator game. Captain your starship through adventures with your friends. See https://smcameron.github.io/space-nerds-in-space
GNU General Public License v2.0
729 stars 73 forks source link

modify snis_launcher, ENABLE_ENSCRIPT does not work with long options #357

Closed spaceshipoperator closed 7 months ago

spaceshipoperator commented 7 months ago

changed ENABLE_ENSCRIPT to specify short option (as long option was not working)

I'm sure there is a more appropriate and complete solution for this; this PR simply demonstrates the problem (and a quick workaround for me so that I can start creating mission scripts)

Signed-off-by: Brian Muckian bmuckian@gmail.com

smcameron commented 7 months ago

Hmm, I just tried enscript with the long option and it worked on my system. That is to say, I edited snis_launcher and changed it like so:

diff --git a/snis_launcher b/snis_launcher
index d683d6fb..b858ff27 100755
--- a/snis_launcher
+++ b/snis_launcher
@@ -34,8 +34,8 @@ SPLASH_SCREEN="ENABLED"
 NO_TEXTURES=
 # NO_TEXTURES=--no-textures

-ENABLE_ENSCRIPT=
-# ENABLE_ENSCRIPT=--enable-enscript
+# ENABLE_ENSCRIPT=
+ENABLE_ENSCRIPT=--enable-enscript

 if [ "$ASPECT_RATIO" != "" ]
 then

and then I was able to use "enscript abc" on the DEMON screen and it saved things in "share/snis/luascripts/ABC" (I should have saved in ABC.LUA, but it did save it.

I'm not doubting that you encountered a problem, but I don't think we have figured out exactly what the problem is yet.

smcameron commented 7 months ago

I have made the following commit:

which allows you to turn on the --enable-enscript option from snis_launcher, via the Options menu (9).

See if that works for you.

Edit: I kind of think this won't work for you, since the original method using "ENABLE_ENSCRIPT=--enable-enscript" apparently didn't work for you, but it is worth a try. If it doesn't work, then I would be interested to see the contents of snis_server_log.txt.

spaceshipoperator commented 7 months ago

thank you for the "option", seems will be convenient, sadly it still does not work for me. However this, the contents (or lack of stuff) in my snis_server_log.txt may be a clue? I will dig further

brian@stan:~/dev/space-nerds-in-space$ cat ./snis_server_log.txt
snis_server(default):: Failed to create lockdir /tmp/snis_server_lock.DEFAULT, exiting.
spaceshipoperator commented 7 months ago

okay...I've been able to enscript, found I had to do two things; in addition to choosing "enable enscript" from the "options"; launch the lobby and then...

First to get contents to get written to my snis_server_log.txt I had to launch 3 (snis_server) before 2 (multiverse). And then, I had to make sure I selected "default" as the solar system to launch my wombat...and then...voila...anyhow I can enscript now...

second star to the right, straight on 'til morning

smcameron commented 7 months ago

snis_server(default):: Failed to create lockdir /tmp/snis_server_lock.DEFAULT, exiting.

Ok, this indicates that at some point snis_server crashed. That file is to prevent two instances of snis_server for the same solarsystem running at the same time.

I had to launch 3 (snis_server) before 2 (multiverse).

Interesting, you shouldn't have to do that.

And then, I had to make sure I selected "default" as the solar system to launch my wombat

I should modify snis_launcher to detect these lock dirs and print a warning if they are found to be present when they are not expected to be present.

If I'm not mistaken, you're using some Raspberry Pis, correct? I've done this a few times, but not regularly, and not lately. It should be fine, but not having tested it extensively myself, I cannot be sure there isn't some trouble to be found there. If, for example, you found yourself having to reset a system running snis_server, this could explain the lock directories being left around, assuming /tmp isn't cleared on a reboot (maybe it is? Not sure.) In any case, it might be best to run snis_server, snis_multiverse, the lobby processes, etc. on a "stronger" computer, and only run snis_client on the Raspbery Pis. Maybe you're already doing it that way. That being said, snis_client is the most demanding of the processes anyway.

smcameron commented 7 months ago

Committed the following: