mirror of
https://github.com/ApfelTeeSaft/Multikill-Server.git
synced 2026-08-26 19:33:31 +00:00
89 lines
4.1 KiB
Markdown
89 lines
4.1 KiB
Markdown
# 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](https://github.com/ApfelTeeSaft/Multikill-Server/releases).
|
|
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.
|