Slipe Server

Sharpen your MTA development experience

Native C# for MTA

With Slipe Server you're able to run a Native C# MTA server. Making use of the entire dotnet ecosytem, any NuGet package you want, industry-standard ORMs and logging frameworks, and far more.

Slipe Server enables you to make use of the full power of C#. This includes but is not limited to: type safety, inheritance, multithreading and async/await.

Built to be configurable

Slipe Server is built from the ground up to be configurable. You can modify anything, like:

  • Tweaking the processing of sync packets
  • Completely overhauling (or even replacing) the processing of sync packets
  • Implementing custom element classes for your gamemode logic
  • Changing how elements are created to multiple clients

Build your projects in Visual Studio, and let IntelliSense and IntelliCode increase your productivity even more!

(First party) Extensions

Besides being configurable some very powerful (first party) extensions are available. These can provide better development experiences, useful new features, scripting support and more.

Some examples include:

            
[LuaController("")]
public class VehicleController : BaseLuaController
{
    private readonly MtaServer server;
    private readonly VehicleUpgradeService vehicleUpgradeService;
    
    public VehicleController(MtaServer server, VehicleUpgradeService vehicleUpgradeService)
    {
        this.server = server;
        this.vehicleUpgradeService = vehicleUpgradeService;
    }
    
    [LuaEvent("giveMeVehicles")]
    public void CreateVehicleForPlayer(int model)
    {
        var position = this.Context.Player.Position + new Vector3(0, 0, 2);
        var vehicle = new FreeroamVehicle((ushort)model, position)
        {
            Rotation = this.Context.Player.Rotation,
            Interior = this.Context.Player.Interior,
            Dimension = this.Context.Player.Dimension,
        };
    
        vehicle.AssociateWith(this.server);
        vehicle.Driver = this.Context.Player;
        this.Context.Player.Vehicles.Add(vehicle);
    }
}
            

Take advantage of C#!

Slipe Server is a complete C# implementation of the MTA server platform. The benefits of using C# in combination with Visual Studio are innumerable. Everything that works in C# works in Slipe. Take a look:

  • Use Dependency Injection
  • Handle Lua Events simply by defining methods
  • Use System.Numerics and other powerful .NET libraries
  • Typesafe constructors, methods and properties

Community

We are incredibly grateful for everyone who puts energy in making Slipe Server a bit better every day. This applies to our GitHub contributors but also everyone who is involved with the project on Discord. Join the Slipe community and sharpen your MTA development experience!

Project Contributors