Language English | 中文 | 한국어 | Español
Este repositorio proporciona una API que puede ser usada para manejar eventos en tu servidor de comunidad y manipularlos.
- Tu proprio servidor de BattleBit Remastered con la progresión deshabilitada y acceso a los parámetros de lanzamiento.
- Poder escribir y compilar .NET 6.0 en C#.
- (para entorno de producción) Un espacio donde alojar esta API
La documentación y algunos ejemplos se pueden encontrar en la wiki (WIP).
La manera de utilizar esta API es instanciando una clase ServerListener
(y ejecutándola) a la cual le pasas tus propias subclases de Player
y GameServer
. En esas subclases, puedes hacer tus propias modificaciones a los métodos que ya existen en Player
y GameServer
. Tambien puedes añadir tus propios atributos y métodos.
La manera más fácil de empezar, es usando el archivo proporcionado Program.cs
y agregar tus propias modificaciones. dentro de MyPlayer
y MyGameServer
.
El proyecto se puede compilar tanto usando el comando dotnet build
en una línea de comandos o usando las opciones de compilar dentro de tu IDE preferido.
Alternativamente, puedes usar docker para ejecutarlo. Una forma fácil de hacer eso es ejecutar el comando docker compose up
.
Después de programar y compilar el proyecto, necesitarás un sitio donde alojarlo. Esto se podría hacer en el mismo sitio que el servidor del juego donde la latencia sería mínima, o en cualquier lugar completamente diferente. Es recomendable mantener la latencia entre el servidor y la API lo más baja posible para favorecer el rendimiento. Un mismo ServerListener
puede ser utilizado para múltiples servidores del juego al mismo tiempo. Puedes especificar la API (direccion y puerto) en los parámetros de lanzamiento del servidor de juego.
El servidor se conecta a la API a través del parámetro "-apiendpoint=<IP>:<port>"
, donde <port>
es el puerto donde el listener escucha y <IP>
es la dirección IP de la API.
Si se requiere verificación por Api Token
en tu API, tendrás que añadir el parámetro "-apiToken=<ApiToken>"
a los parámetros de lanzamiento de los servidor(es). Si el <ApiToken>
del servidor es el mismo Api Token
que está definido en la API, los servidores se podrán comunicar con la API. De no ser así, la conexión será rechazada.
Cuando el servidor de juego esté iniciado completamente, puedes modificar direcamente el Api Token
del servidor usando el comando setapitoken <new token>
en la ventana de comandos del servidor que se ha iniciado.
El proyecto está actualmente configurado para escuchar en el puerto 29294
. Si quisieses cambiar esto, asegurate de cambiarlo en el código (en tu listener.start(port)
). El puerto 29294
tambien está expuesto en Docker y ligado al mismo puerto enel host en Docker Compose. Esto significa que, usando Docker, se tendrá que cambiar el puerto en el archivo Dockerfile
y en el archivo docker-compose.yml
(cuando se utiliza Compose) tambien. Léase EXPOSE in the Dockerfile reference y networking in Compose.