Introducción
Esta API pretende ofrecer las mismas funcionalidades que posee o vaya a poseer el lanzador
Murciélago.
Toda versión Beta de la API puede sufrir cambios así que es preferible usarla solo para ver
como funciona e ir acostumbrándose a la misma.
Para obtener la
idu y la
ky hay que
registrase aquí. La información de la cuenta
la obtendrás
ingresando aquí
Variables
idu
Contiene la ID del usuario representada por un número entero.
ky
Contiene la key del usuario representada por 32 caracteres alfanuméricos.
ft
Puede ser:
- 0: Para que devuelva los datos en formato xml.
- 1: Para que devuelva los datos en formato de líneas.
Si no se especifica devolverá en xml.
op
Puede ser:
- cre: Para crear una partida nueva.
- lis: Para pedir el listado de partidas.
- act: Para pedir el listado de actualizaciones.
nj
Contiene el nombre del juego sin caracteres especiales. Solo letras (sin tildes) y números. Máximo 255 caracteres.
vj
Contiene la versión del juego sin caracteres especiales. Solo letras (sin tildes), punto y números. Máximo 255 caracteres.
ip
Contiene la IP del ordenador que va a hacer de servidor.
mj
Contiene el modo de juego. Ya sea torneo o atrapa la bandera. Para identificar el tipo puedes utilizar un número del 0 al 9.
m
Contiene el nombre del mapa que ha elegido el servidor para la partida. Solo letras (sin tildes), punto y números. Máximo 255 caracteres.
ca
Es la caducidad de las partidas. El tiempo se mide en segundos unix (gmdate). Por ejemplo: Si quieres ver las partidas creadas el último minuto se pone 60.
En cambio, si quieres ver las de la última hora se pone 3600.
np (opcional)
Nombre de la partida para diferenciarla de otras. Si no se pone nada saldrá Sin nombreX donde X será un número. Solo letras (sin tildes), punto y números. Máximo 255 caracteres.
rv (opcional)
Tipo de red a utilizar. Ya sea hamachi u otras. Solo letras (sin tildes), punto y números. Máximo 255 caracteres.
rn (opcional)
El nombre de la red virtual. Solo letras (sin tildes), punto y números. Máximo 255 caracteres.
rc (opcional)
La contraseña de la red virtual. Solo letras (sin tildes), punto y números. Máximo 255 caracteres.
Servidor
El servidor es el encargado de crear las partidas que después pedirán los clientes.
Crear una partida nueva
Para ello se tiene que hacer una petición del tipo:
O si necesita una red virtual y quiere poner el nombre de la partida una del tipo:
Respuestas
Si la partida se ha creado serás informado en formato xml:
Si la partida no se ha creado consulta el apartado de errores al final.
Cliente
El cliente es el encargado de leer si hay partidas nueva o no.
Pedir listado de partidas
Para ello hay que realizar una petición del tipo:
Si quieres que solo muestre las partidas de una versión determinada hay que hacer una petición del tipo:
Respuestas
Si hay partidas recibirás una respuesta de este tipo en el que se te mostrarán todas las partidas
que se hayan encontrado:
Los datos de cada partida estan entre <partida> </partida> y cada campo devuelve:
- nombrePartida: El nombre de la partida
- ip: La ip del servidor a la que se tienen que conectar los clientes
- modoJuego: Un número (0-9) que representa el tipo de partida. Bandera o torneo
- fecha: Tiempo en segudos unix en que se creó la partida
- fechaHaceSeg: Segundos transcurridos desde que se creó la partida
- fechaHaceMin: Minutos transcurridos desde que se creó la partida
- fechaHaceHora: Horas transcurridas desde que se creó la partida
- mapa: El mapa utilizado para la partida
- redVirtual: Tipo de red virtual que se va a utilizar
- redNombre: Nombre de la red virtual
- redClave: Clave de la red virtual
- versionJuego: Versión del juego que ha creado la partida
Y aparte se devuelve en fechaPeticion el tiempo unix en el que se realizó la petición
Si por el contrario no se encuentra ninguna partida recibirás un error del tipo:
Actualizaciones
Esta API permite conocer si un juego determinado posee actualizaciones y servir información
al respecto. El lanzador que utilice esta API deberá encargarse del control de versiones, que
actualización descargar, en que orden, etc...
Para mostrar el listado de actualizaciones disponibles se realiza una petición del tipo:
Con esto recibirás todas las actualizaciones disponibles para el juego pedido en nj del tipo:
Los datos de cada actualización estan entre <actualizacion> </actualizacion> y cada campo devuelve:
- id: Es un número entero que representa a una actualización en concreto.
- tipo: Un número (0-9) que representa el tipo de actualización. Por ejemplo: 0 para mapas nuevos,
1 para el juego, 2 para actualizar mapas, 3 para el lanzador, etc...
- nombre: Un nombre o título para identificar la descarga.
- descripcion: Una breve descripción de lo que va a hacer la actualización.
- version: Versión de la actualización. Puede venir bien para el control de actualizaciones en un mapa
en concreto, por ejemplo.
- url: Url de descarga del archivo o donde poder encontrar la descarga.
- urlImagen: Url de una imagen previa. Puede venir bien para mostrar una captura del nuevo
mapa.
- peso: Peso de la actualización.
- autor: Nombre/nick del autor del recurso a actualizar.
Errores generales
Error 1
Si el usuario enviado no existe, o la key no coincide con el usuario tanto las peticiones
del cliente como del servidor devolverán un error del tipo:
Error 2
Este error se da cuando no se ha podido crear la partida:
Error 3
Este error se da cuando no se encuentran partidas:
Error 4
Este error se da cuando la operación pedida no existe:
Error 5
Este error se da cuando has pedido que se te devuelvan los datos en un formato no válido:
Error 6
Este error se da cuando envias el modo de juego con un valor que no sea un número del 0 al 9:
Error 7
Este error se da cuando el valor de la caducidad de las partidas es menor que cero:
Error 8
Este error se da cuando el valor de la IP esta vacia:
Error 9
Este error se da cuando el valor del nombre del mapa esta vacio:
Error 10
Este error se da cuando el valor del nombre del juego esta vacio:
Error 11
Este error se da cuando el valor de la versión del juego esta vacia:
Error 12
Este error se da cuando no es posible realizar la conexión con la base de datos:
Error 13
Este error se da cuando no hay actualizaciones: