Official Lua Thread?

Discussion in 'General Discussion' started by Astirian, Oct 20, 2019.

Tags:
Thread Status:
Not open for further replies.
  1. Astirian

    Astirian Avatar

    Messages:
    614
    Likes Received:
    1,494
    Trophy Points:
    93
    Hey dudes and dudettes! Should we kick off an official Lua thread somewhere?

     
    Paladin Michael likes this.
  2. Vladamir Begemot

    Vladamir Begemot Avatar

    Messages:
    6,194
    Likes Received:
    12,076
    Trophy Points:
    153
    Gender:
    Male
    Should probably have a few. One for people who know what they are doing to discuss doing stuff. Another for people who don't, like me, to ask you to do stuff. :p And another for getting people who don't know what they are doing started on knowing what they are doing.
     
    Jaesun, Gravidy, Astirian and 2 others like this.
  3. Nick

    Nick Avatar

    Messages:
    1,039
    Likes Received:
    1,944
    Trophy Points:
    113
    Anyone knows what's the danger of allowing lua? I was told if things are not properly tested, we might end up with issues like gold and deeds being unknowingly being mailed to someone else.
     
  4. Paladin Michael

    Paladin Michael Bug Hunter

    Messages:
    2,649
    Likes Received:
    4,202
    Trophy Points:
    153
    Gender:
    Male
    Location:
    Perennial Coast
    And what's about people not knowing, what you are talking about?

    L U A ? Someone likes to explain what this is about? ;)

    Thank you!
     
    Nick and Astirian like this.
  5. Warrior B'Patrick

    Warrior B'Patrick Avatar

    Messages:
    1,220
    Likes Received:
    2,397
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Athens, Georgia, USA
    Greetings all
    Luna is a scripting language that you can use to access public hooks (stats for instance but not limited to) and have them do something or display something on your HUD. I used several when I was a WOW player. You can see what is possible on CurseForge. I unfortunately fit in the category of only knowing how to install and use them But i am envious of the scripters that can do it. As with anything that you add to your game that does not come from the Devs you take a risk.
     
    Paladin Michael, Nick and Astirian like this.
  6. Astirian

    Astirian Avatar

    Messages:
    614
    Likes Received:
    1,494
    Trophy Points:
    93
    It's basically a scripting language, the idea would be that Catnip makes available certain parts of the game so you can manipulate the data. Imagine maybe something like a group DPS counter or custom UI stuff. It all depends on what we're allowed to access but it's going to be so much fun! The look on Chris's face when he mentioned UI stuff on the Wednesday stream was priceless. ;)
     
    Paladin Michael and Nick like this.
  7. Katu

    Katu Avatar

    Messages:
    454
    Likes Received:
    777
    Trophy Points:
    55
    Gender:
    Male
    Location:
    Finland
    They obviously have to sandbox it correctly. They cant allow clicks to UI from scripts and they absolutely have to restrict most of the lua libraries out. At worst, you could access file system from Lua and destroy files etc, but its easily blocked. Pretty simple stuff, but hopefully they ( for once), implement too restricted system, then losen it up after sometime.

    To prevent botting and almost all the bad stuff, they can't allow clicking nor character controlling, at all, from scripts. Just purely UI stuff with the ability to talk with external servers, with clear indication that script is doing so.
     
  8. Astirian

    Astirian Avatar

    Messages:
    614
    Likes Received:
    1,494
    Trophy Points:
    93
    Beat me to it haha!

    I've actually made a pair of mobile games using a Lua framework so I'm really keen to get my hands dirty. :D
     
    Nick likes this.
  9. that_shawn_guy

    that_shawn_guy Bug Hunter

    Messages:
    1,409
    Likes Received:
    3,738
    Trophy Points:
    125
    Location:
    earth... mostly
    I'd rather see a community developer's section with multiple sub-sections.
     
  10. Paladin Michael

    Paladin Michael Bug Hunter

    Messages:
    2,649
    Likes Received:
    4,202
    Trophy Points:
    153
    Gender:
    Male
    Location:
    Perennial Coast
    Ah, okay. Thank you :)
     
  11. craftymethod

    craftymethod Avatar

    Messages:
    1,133
    Likes Received:
    2,001
    Trophy Points:
    113
    Listing public/player quest stubs active in the local area and events about to start globally would be prime info to try and get to players...

    Of course some events could always be hidden... ;)
     
    Jaesun likes this.
  12. FrostII

    FrostII Bug Hunter

    Messages:
    5,884
    Likes Received:
    11,033
    Trophy Points:
    153
    Gender:
    Male
    Location:
    Pacific Northwest
    Nay... 'tis a town in UO. :p
     
    Last edited: Oct 22, 2019
    Alleine Dragonfyre likes this.
  13. Gravidy

    Gravidy Avatar

    Messages:
    257
    Likes Received:
    613
    Trophy Points:
    28
    Gender:
    Male
    Location:
    San Francisco, CA
    For those that are interested in learning Lua, the official site is a good place to start: https://www.lua.org/
     
  14. DavidDC

    DavidDC Programmer Moderator SOTA Developer

    Messages:
    1,532
    Likes Received:
    3,236
    Trophy Points:
    113
    Gender:
    Male
    There is a few thing about lua that tickle me tought, those library that are downloadable with luarocks are pretty old and mostly not maintened. There is a elasticsearch lua library which is discontinued and only work on lua version 5.1 and prior (because of another library that doesnt work on lua 5.1+ and is a dependancy of it, lua-cjson). Alot of library were made for linux in C ansi. So you need a compiler for it under windows and took me a good day to setup visual studio correctly and download all appropriate updates to get the compiler to work (with visual studio community 2017, which the compiler doesnt come in by default). And im really wondering how its gonna execute script, i never really did any moddings, is it lua being distributed with the client? If yes we definitly need to know which version we need to look at. Some people might try to start learning now on older or too recent version and it just wont be that.

    Anyway, lot of fun and headhach coming our way i guess :p
     
  15. Vladamir Begemot

    Vladamir Begemot Avatar

    Messages:
    6,194
    Likes Received:
    12,076
    Trophy Points:
    153
    Gender:
    Male
    That sounds like downloading and installing a script from an untrusted source. It's described as something to help sort your bank, but it also helps sort by relieving you of a bit of your inventory the first time you open a mailbox.
     
  16. Ravalox

    Ravalox Chief Cook and Bottle Washer Moderator SOTA Developer

    Messages:
    1,731
    Likes Received:
    4,954
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Dallas, TX
    In phase one this would not be a danger at all. (They are not enabling the ability to send commands and info to the server) Phase one will be to pull info from the game (as of the moment)
     
  17. Spoon

    Spoon Avatar

    Messages:
    8,403
    Likes Received:
    23,554
    Trophy Points:
    165
    Gender:
    Male
    Location:
    Sweden
    None in phase 1. Approaching zero in phase 2. The only potentially scary part would be phase 3 which would be a long way away and would have the lessons from other MMOs going before.

    The biggest risk would be false positive bug reports. Where if shroud use both internal LUA for their stuff and allow addon lua from players, then if the player gets a LUA error they are most likely to blame the game-while the most common error source would be unupdated adding. Thus it is kinda important to have good error numbers/definitions.

    Biggest known MMO with LUA support is WoW.

    Phases from Chris
     
  18. Tiina Onir

    Tiina Onir Avatar

    Messages:
    1,103
    Likes Received:
    1,900
    Trophy Points:
    125
    Location:
    Bramble, South Paladis
    Spoon's right on here.

    I think one of the most interesting things phase 1 has the potential to bring to the table is getting all those informational UI elements off our game screens (that we open and close all the time) and onto a second display. That's something a few (not enough to justify Portalarium doing the work, admittedly) of us have wanted for a while.

    When we start getting LUA scripts, you'll definitely have to only install LUA stuff from sources you trust.
     
    Last edited: Oct 21, 2019
    Jaesun, FrostII and Spoon like this.
  19. Daxxe Diggler

    Daxxe Diggler Avatar

    Messages:
    2,692
    Likes Received:
    5,711
    Trophy Points:
    153
    Gender:
    Male
    Location:
    Virtue Oasis - Hidden Vale
    I think allowing UI Mods via LUA will be an awesome improvement to SOTA. I've gotten used to being able to reskin my UI to my liking in some other games and have sorely missed that ability here. I prefer things to be more minimalistic and functional over looking pretty. I also like to move things around on the screen and resize them to fit my needs. So when this eventually comes to fruition I will surely be happy.

    But, as @Spoon said, it may be a nightmare for reporting bug reports (when the bug is caused by the UI Mod). Without knowing the scripts loaded by the person reporting the bug... it would be a real problem to diagnose. If the UI community here gets any kind of resemblance to WoWInterface... they could be tons of different mods used, along with different versions by the creators. Hopefully Chris will give us an easy way to attach the actual script we are loading to our bug report (or better yet, do it automatically) so they can have the info they need to fix bugs.
     
  20. Tiina Onir

    Tiina Onir Avatar

    Messages:
    1,103
    Likes Received:
    1,900
    Trophy Points:
    125
    Location:
    Bramble, South Paladis
    Along those lines I think there needs to be a super-quick way to enable and disable all 3rd party LUA modules for debugging purposes, in addition to what you propose.
     
Thread Status:
Not open for further replies.