Cuberite Forum
Lua & additional libraries - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Plugins (https://forum.cuberite.org/forum-1.html)
+--- Forum: Plugin Discussion (https://forum.cuberite.org/forum-8.html)
+--- Thread: Lua & additional libraries (/thread-1704.html)



Lua & additional libraries - wudles - 01-02-2015

I am working on plugin that requires cloud storage.

I am trying to use socket.http to store general login/logout info. However, I get the following:
Code:
[15:35:21] LUA: Plugins/Metaverse/hooks.lua:15: module 'socket.http' not found:
        no field package.preload['socket.http']
        no file './socket/http.lua'
        no file '/usr/local/share/lua/5.1/socket/http.lua'
        no file '/usr/local/share/lua/5.1/socket/http/init.lua'
        no file '/usr/local/lib/lua/5.1/socket/http.lua'
        no file '/usr/local/lib/lua/5.1/socket/http/init.lua'
        no file 'Plugins/Metaverse/socket/http.lua'
        no file './socket/http.so'
        no file '/usr/local/lib/lua/5.1/socket/http.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
        no file 'Plugins/Metaverse/socket/http.so'
        no file './socket.so'
        no file '/usr/local/lib/lua/5.1/socket.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
        no file 'Plugins/Metaverse/socket.so'
[15:35:21] Stack trace:
[15:35:21]   [C](-1): require
[15:35:21]   Plugins/Metaverse/hooks.lua(15): (no name)
[15:35:21] Stack trace end
[15:35:21] Error in plugin Metaverse calling function <callback>()

I have no problems using socket.http in other Lua scripts on the same machine.


RE: Lua & additional libraries - xoft - 01-02-2015

Before you go any further, let me just remind you that using LuaSocket is a bad idea. It uses blocking socket calls, which means the server won't be able to continue until a network event occurs; this means that the server's world tick threads will stall within your plugin, as well as other threads. Although it is possible to use LuaSocket in non-blocking mode, I'm not sure if the http library supports that and it becomes a nightmare to program.

The other Lua scripts on the same machine, do they use Lua 5.1 or Lua 5.2? We use Lua 5.1 in MCServer, so any libraries installed for Lua 5.2 might be incompatible (see the "5.1" in the listed paths). I did manage to install LuaSocket via LuaRocks on my virtualboxed Ubuntu and it worked alright with MCS, so I suppose there's some hidden misconfiguration that we need to find out about.


RE: Lua & additional libraries - Seadragon91 - 01-25-2015

Is it possible to update the lua lib in the server to version 5.2?Confusedhy:


RE: Lua & additional libraries - xoft - 01-25-2015

Is there any specific need for that? Of course it should be possible, but it would break some of the plugins and possibly debugger IDEs (I'm not sure if Decoda supports Lua 5.2 already). Worst case scenario - the update breaks ToLua. That would be quite a disaster.


RE: Lua & additional libraries - NiLSPACE - 01-25-2015

Lua 5.3 is already released, so if we would update then why not immediately update to 5.3?

Or maybe even LuaJit?


RE: Lua & additional libraries - worktycho - 01-25-2015

LuaJit would be a better update. If we're going to have to patch things, we might as well go for the option that gives significant performance improvement.