Skip to content

vanflux/rio-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RIO API (unofficial)

Chamadas da API do Raised in Oblivion implementadas usando node.js.


Screenshot do exemplo de monitor de server list:


Instalando usando npm:

  • npm install https://github.com/vanflux/rio-api.git

Import de dependência:

let { Client } = require('rio-api');

new Client('STEAM_ID_64_HERE', options)

Opções do Client:

{
  apiOpts: {
    apiUrl: null,
    version: "b0.9.5.0",
    requestOpts: {
      /*
        Agents, headers customizados
        Opções para a library de request
      */
    },
  },
  request: RequestLibrary, /*
    Library de request customizada,
    precisa ter os métodos http como funções...
    (.get(options), .post(options) ...)
  */
}

Exemplos:

User infos:

let client = new Client('STEAM_ID_64_HERE');

let response = await client.loadData();
if (response.hasError) console.error(response.data);
console.log(client.userData);

Server list:

let client = new Client();

let response = await client.loadServerList();
if (response.hasError) console.error(response.data);
console.log(client.serverList.servers);

Monitor de server list:

let client = new Client();

let formatServer = server => (
    server.id + 
    ' (' + server.currentPlayerCount + '/' + server.maxPlayerCount + ')\t' + 
    server.address + 
    '\tplayerHistory: [' + server.playersHistory.map(x => x.value).join(',') + ']'
  );
  
client.serverList.on('new server',    server => {
  console.log('[New Server]    ' + formatServer(server));
});
client.serverList.on('update server', server => {
  console.log('[Update Server] ' + formatServer(server));
});
client.serverList.on('remove server', server => {
  console.log('[Remove Server] ' + formatServer(server));
});

let response = await client.loadServerList();
if (response.hasError) console.error(response.data);
setInterval(async () => {
  console.log('Updating...');
  let response = await client.loadServerList();
  if (response.hasError) console.error(response.data);
}, 5000);

Chamadas implementadas:

  • 🟢 Server List (lista de servidores)
  • 🟡 Get Player Status (status do player como kills e deaths)
  • 🟡 Get Player Characters (personagens do player)

Legenda:

🟢 = Não precisa de autenticação
🟡 = Precisa de autenticação

Para conseguir informações de player é necessário ter o steamId64 do mesmo.

É possível obter o steamId64 a partir do nickname usando o site https://www.steamidfinder.com


Clonando repositório:

Requisitos

Clone o repositório

  • git clone https://github.com/vanflux/rio-api.git

Vá até a pasta

  • cd rio-api

Instale as dependências

  • npm install

Rode (A aplicação já vem com 3 exemplos default, des-comente o que você quiser ver)

  • npm run start ou npm run dev

Packages

No packages published