Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for custom commands #309

Open
mposs00 opened this issue Jul 6, 2022 · 2 comments
Open

Add support for custom commands #309

mposs00 opened this issue Jul 6, 2022 · 2 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@mposs00
Copy link
Collaborator

mposs00 commented Jul 6, 2022

Work for this cannot start until the API refactor has been completed. An FFI should be exposed to some interpreted language, and a library to interpret that language must be included. Perhaps Lua?

Any end user should be able to define commands that are able to modify the state of clients, areas, and servers, as well as send arbitrary packets, without recompiling the server or writing any C++.

Please share any input

@mposs00 mposs00 added enhancement New feature or request question Further information is requested labels Jul 6, 2022
@Salanto
Copy link
Collaborator

Salanto commented Jul 6, 2022

For Powershell I could write a module binding for Akashi to expose the FFI and publish it through PSGallery as it can load most C++ libs with a few tricks.

Lua is kinda an edge case, while powerful, it lacks people who know how to write for it as its syntax is a bit non-standard.

@mposs00
Copy link
Collaborator Author

mposs00 commented Jul 7, 2022

the problem is that there are more steps than just exposing the FFI; it needs to be done at runtime, as well as have the ability to override virtual functions and call them from C++

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants