Geyser not working in Linux

Post Reply
Xavious
Posts: 7
Joined: Sat Nov 21, 2015 9:48 pm

Geyser not working in Linux

Post by Xavious »

Hello Mudlet community!

I'm very new to using Mudlet and honestly this is the first time I've really ran Linux on my home PC. I managed to compile and run Mudlet on my derivative of Debian, however I was trying to run a Geyser script that someone from the mud I frequent sent me. It's a very basic chat window.

For some reason whenever I try to run the script it throws an error. I've tried researching the issue, but I can't seem to find a solution. I've also tried simply copy/pasting code straight from the Geyser manual examples and those snippets flag the same type of error.

Lua syntax error:[string "chatbox = Geyser.Miniconsole:new({...']1: attempt to index global 'Geyser' (a nil value)
Code: [show] | [select all] lua
chatbox = Geyser.MiniConsole:new({
        name="chatbox",
        x = "76%", y = "1%",
        width = "23%", height = "55%",
        fgColor = "white",
        color = "black",
        fontSize = 9,
        wrapAt = 63
        --message = [[<center>heeeeeeey</center> --this is a test message]]
})
Has anyone ever encountered this before or know why it might be happening?

I'm using Mudlet 3.0.1 Dev.

The only thing I figured it might be is that Im missing a dependency for Geyser or something I'm not exactly a wizard at Linux, but I did try to grep search for Geyser references and I found a few in my build.

Any advice or guidance is appreciated!

User avatar
SlySven
Posts: 1019
Joined: Mon Mar 04, 2013 3:40 pm
Location: Deepest Wiltshire, UK
Discord: SlySven#2703

Re: Geyser not working in Linux

Post by SlySven »

Were there some lines in the console saying "[ ERROR ] - ....." when you started the profile? The lua sub-system Mudlet specific extras which include the Geyser "package" is loaded in automagically on startup, however I was unable to finishing the code to provide the capability to load the "shared" "read-only" extra files from a part of the filesystem remote from the executable's directory. On a Linux box this should have been /usr/shared/mudlet, /usr/local/shared/mudlet or ~/mudlet depending on wither it was a distribution provided package, a local system build or a personal build respectively - instead Mudlet looks in ../src/mudlet-lua/lua relative to the mudlet exectable for the LuaGlobal.lua file which is the loader for all the other files. The Geyser ones are in the ../src/mudlet-lua/lua/geyer directory.

So you have to ensure those files in the source code are in that position relative to where your executable is put. :geek:

Xavious
Posts: 7
Joined: Sat Nov 21, 2015 9:48 pm

Re: Geyser not working in Linux

Post by Xavious »

Thanks for the advice. The file path issue occurred to me as well and I attempted to shuffle some files around based on what I saw in the Makefile for the install locations. This didn't help me with my problem, but I probably didn't put them in the right location.

However, I inadvertently found a way to get around the issue by running Mudlet from the command line. For some reason when I double+click run the executable, I get these Geyser issues, but if I run Mudlet from the command line I do not. In any case, I hit the ground running once Geyser starting working and already created my first few UI containers/miniconsoles, and labels. This API is really intuitive!

Post Reply