A plugin is, simply put, an interface and the methods defined in that interface which can be executed remotely. Invoking the method remotely is easy as calling a method locally via the interface. And, you have all the benefits of static typing! There are no magic strings, no names of the methods, etc.
SB allows method invocation from the client to the server, and vice versa. You can also wait for the result, but that is not necessary.
The image below describes the simplified architecture.
SB makes it easy to implement your game logic on the server by abstracting everything away, and leaving you to focus on the game itself.
Every plugin is completely isolated, has it’s own configuration, and cannot be accessed by other plugins.
In this tutorial, a simple calculator is implemented on the server and the clients execute methods remotely to get results.
Next step: Plugin definition.