Skip to content

Upgrading/Replacing Lua 5.1 with a better option #2960

Closed
@ERAGON007

Description

@ERAGON007

Is your feature request related to a problem? Please describe.

It's very frustrating to write new resources for most of scripters. Lua 5.1 Is too simple to handle some kinda complex computations.

Describe the solution you'd like

There has been several releases being published by Lua (Lua 5.4) which include security patches and also performance enhancements. There should be at least a project dedicated for a Lua derivative to be worked on by developers [Lua5.4, Luau, GLua]

There are also other options such as JS, to avoid the trouble of compiling V8 project (which takes about ~4-8 hours to compile) we can also use already built V8 objects from projects like https://github.com/denoland/rusty_v8

A better solution is to use Wasm as a scripting solution, therefore developers can write their own resources in any language and then compile it to Wasm

Not updating Lua interpreter and also modules being kinda dead feature leaves some server developers to build their own fork, i pretty much most staff members are busy with their personal life etc...

maybe there can be new staff members just for reviewing PRs and issues? there are some PRs waiting for review/merge/testing for years now, and the author finally gives up on contributing

There are PRs like #2908 from @CrosRoad95 already existing for Wasm, but it needs to be as a project so other developers can take it seriously and actually contribute to it there was also an attempt to add V8 interface too which left abandoned after a while because of author being alone. By adding Wasm interface we can also get rid of Modules too

Describe alternatives you've considered

It can be 2 projects separated
1- Making an abstraction that calls the current functions like getElementData etc... functions can accept a generic input parameter as the VM that wants to call it, for example if you call getElementData from a Lua VM it could be like _getElementData(aGenericType callerEnv)
2- Adding the actual Wasm runtime and making it working on x32 too, and then adding Wasm functions based on project 1

Additional context

https://github.com/denoland/rusty_v8
https://nodejs.org/api/embedding.html
https://github.com/bytecodealliance/wasm-micro-runtime
https://github.com/bytecodealliance/wasmtime

https://blog.logrocket.com/webassembly-runtimes-compared/

Security Policy

  • I have read and understood the Security Policy and this issue is not about a cheat or security vulnerability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions