-
Notifications
You must be signed in to change notification settings - Fork 8
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
Establishing the roadmap #2
Comments
Why not instead embed WASM runtime as VM. I think wasmtime, wasmedge, wasm3 all can be embedded in an app. With some SDK magic you can provide interface to VM that can be called from any language. |
I would love to see javascript / typescript this would lower entry for everyone to start code their own plugins and contribute since pawn is barely known. Hopefully this will be reconsidered :) new engine new start… |
TL;DR A |
I have my doubts about JS/TS. Although it is my favorite language. If the implementation will depend on V8 as in NodeJS to work in rantime. Then we can start buying RAM for servers with a large number of plugins. (30Mb per plugin = 3GB per 100 plugins (average statistical server). Anyway, I would make a core of pluggable language libraries. Mandatory support for Extensions in C++. I would prefer to write in compiled language (like GoLang, Rust) with function call from Source2Mod. Alas of course these languages would be very problematic for beginners. P.S. Why don't you like SourcePawn? :) |
you won't be initializing the runtime more than once. You will probably have a ("plugin manager","cordinator","orchestrator" -- insert whatever fits in here) that will loop through the plugins and call the relevant code/events w/e. For me it would make more sense to be able to write C++ modules for SourceMod with the ability of adding a language support. Basically leave the flexibility on the community to expand on the language support. I would personally be interested on creating a module for C# by embedding the CoreCLR. I understand that might make the ecosystem of plugins... difficult to moderate, but i'm confident with a proper discussion we can probably solve all of the problems. |
Hello, I'm trying to do this, but I'm not experienced in CS modding/scripting, you can add me in discord Gazzi#6131 if you want to discuss or contribute |
I have a project doing exactly that: https://github.com/roflmuffin/CounterStrikeSharp |
The prospect is certainly enticing, as it would allow for the utilization of practically any native language capable of being compiled into WASM, while also maintaining support for SourcePawn. The implementation might require a considerable investment of effort, though. |
Is there any particular reason why this might be the case? I would expect WASM to actually be equally easy or far easier to implement than wiring up a JavaScript runtime interpreter. Not to mention it would probably be far lighter internally to do so. There's also ways to run JavaScript in a WASM environment, so we wouldn't even have to worry about fighting for which languages we want to support! |
Good to know. Honestly, I'm not completely familiar with the internals of SP. |
Source2mod
Where to contribute ?
We're currently still getting the sdk ready. Head over to hl2sdk and contribute towards the efforts.
What is this issue about ?
This issue aims at summarizing and compiling the answers given on both github and discord, regarding the direction in which the project is headed.
Will
Sourcepawn
be a supported language ?Yes.
Why not extend
VScript
instead ?No, most agree that
VScript
isWhat is the main scripting language ?
Sourcepawn
is the main scripting language.Javascript/Typescript
seem to be desired, but will not be explored until reasonable arguments have been made as to why we should.Plugin Scripting API
Nothing has been decided yet.
The text was updated successfully, but these errors were encountered: