Multikill Server (for Ultrakill 0.9.0)


Why even make this when Jaket exists?

  • Jaket does not Support dedicated 24/7 lobbies since it uses the Steamworks API.
  • Multikill aims to be as customizable as possible meaning that the Server might be able to give the client instructions for custom Physics.
  • Map Streaming I want Multikill to be able to Stream maps from the Server / download them when joining a game, so you don't have to worry about not having the right map installed.
  • Educational Purposes Multikill is a project for Educational Purposes.
  • i don't even know what i'm yapping about

The Multikill Server is a dedicated server for the Multikill mod for Ultrakill version 0.9.0, allowing players to connect and engage in PvP combat across different maps. The server is responsible for handling client connections, managing player synchronization, and broadcasting data to all connected players.

Features

  • Dedicated Server: Host multiplayer games with multiple players.
  • Basic Movement Sync: Sync player positions and basic movements across all connected clients.
  • Map Syncing: The server sets the map, and it is replicated across all connected clients.
  • LiteNetLib Networking: Uses LiteNetLib for reliable and efficient network communication.

Note

: The current version only includes basic movement syncing and map syncing. Additional features like advanced combat mechanics, PvP functionality, and team-based modes are planned for future updates.


Requirements

  • .NET Framework 4.7.2 or higher (for the server application)
  • LiteNetLib (for handling client connections)

Installation

1. Download and Build the Server

  1. Clone or download the Multikill Server repository.
  2. Download the latest stable version of the Multikill Server executable from the server release page.
  3. Open the project in Visual Studio 2022 or any compatible IDE if building from source.
  4. Ensure LiteNetLib is installed via NuGet:
    • Right-click the project > Manage NuGet Packages > Search for LiteNetLib and install the latest version.

2. Run the Server

  1. After compiling or downloading the server, run the server executable.
  2. The server will listen on port 9050 by default. You can change this by modifying the code or providing a different port when launching.
  3. The server console will log connected clients, disconnected clients, and data being sent/received.

Server Configuration

The server settings can be configured via code or by adding configuration options in future updates:

  • Port: The default port is 9050, but this can be changed in the source code.
  • Max Players: You can set the maximum number of players in the server code.
  • Map Management: Load different maps for PvP combat (future feature).

Server Commands

The server is controlled via the console:

  • ESC: Press ESC to safely shut down the server.
  • Logs: Monitor connections, disconnections, and game events via the server logs.

Contributing

The Multikill Server project is open for contributions! You can help by reporting bugs, suggesting features, or submitting code improvements.

To contribute:

  1. Fork the server repository.
  2. Make your changes and submit a pull request.

Contact and Support

For any questions, feedback, or support:

  • Issues: Use the GitHub issue tracker to report bugs and request features for both the client and server.
  • Community: Join our community (Discord server to be provided) for matchmaking, support, and discussions.

Future Roadmap

The Multikill project is actively being developed to bring additional features:

  • Team Modes: Play with others in team-based game modes like Team Deathmatch.
  • Map Customization: Allow for custom maps and rotations during gameplay.
  • Advanced Synchronization: Improve latency handling and player action synchronization for a seamless experience.
  • Leaderboards and Stats: Track player performance across games and show competitive leaderboards.
S
Description
a gameserver for multikill, an ultrakill multiplayer mod
Readme
53 KiB
Languages
C# 100%