Sebbo

Feature Request: API for fetching information

Are you interested in the API?  

4 members have voted

  1. 1. Are you interested in the API?

    • Yes, sounds useful
      3
    • Maybe, depends on information, which it returns
      1
    • No, not required at all
      0


1 post in this topic

Hey,

I would like to request a new feature, which can be used by all users (players) on every server.

I would like to have a simple API, which provides some information for each player. This API could return following information:

  • Information regarding family (name, members, ranks,...)
  • Information regarding territory (name, level, position on map, members and ranks, under attack, count of doors, count of doors with locks, count of safes, count of stored vehicles in the virtual garage,...)

Here is a simple example for getting specific information from the server "exo-exile-chernarus-r31":

HINT: I don't know all possible scenarios and available ranks, so please just think, that they're valid. :)

GET https://www.exilemod.com/api/someR4nd0mAuthK3y/server/exo-exile-chernarus-r31

{
	"exo-exile-chernarus-r31": {
		"family": {
			"name": "myFamily",
			"members": {
				"John Doe": "Owner",
				"Jane Doe": "Operator",
				"Max Mustermann": "Member",
			}
		}
		"territory": {
			"name": "myTerritory",
			"level": 10,
			"position": 126020,
			"members": {
				"John Doe": "Owner",
				"Jane Doe": "Operator",
			}
			"countLocks": 7,
			"countSafes": 2,
			...
			"countVehiclesInVirtualGarage": 8,
			"underAttack": true,
		}
	}
}

In case, if you want only information about the territory, it could look like this:

GET https://www.exilemod.com/api/someR4nd0mAuthK3y/server/exo-exile-chernarus-r31/territory

{
	"exo-exile-chernarus-r31": {
		"territory": {
			"name": "myTerritory",
			"level": 10,
			"position": 126020,
			"members": {
				"John Doe": "Owner",
				"Jane Doe": "Operator",
			}
			"countLocks": 7,
			"countSafes": 2,
			...
			"countVehiclesInVirtualGarage": 8,
			"underAttack": false,
		}
	}
}

Please note, that these examples are very simple and you could have multiple territories for example. You also may play on multiple servers and have a family and territory on each:

GET https://www.exilemod.com/api/someR4nd0mAuthK3y

{
	"exo-exile-chernarus-r31": {
		"family": {
			"name": "myFamily",
			"members": {
				"John Doe": "Owner",
				"Jane Doe": "Operator",
				"Max Mustermann": "Member",
			}
		}
		"territory": {
			"name": "myTerritory",
			"level": 10,
			"position": 126020,
			"members": {
				"John Doe": "Owner",
				"Jane Doe": "Operator",
			}
			"countLocks": 7,
			"countSafes": 2,
			...
			"countVehiclesInVirtualGarage": 8,
			"underAttack": true,
		}
	}	
	"playbox-exile-altis-r1205": {
		"family": {
			"name": "myFamily",
			"members": {
				"John Doe": "Owner",
				"Jane Doe": "Operator",
				"Max Mustermann": "Member",
			}
		}
		"territory": {
			"name": "myTerritory",
			"level": 7,
			"position": 020126,
			"members": {
				"John Doe": "Owner",
				"Jane Doe": "Operator",
			}
			"countLocks": 3,
			"countSafes": 1,
			...
			"countVehiclesInVirtualGarage": 3,
			"underAttack": false,
		}
	}
	...
}

These information may should be reported to exilemod.com, that users / players can get these information from a single resource. I don't know much about the server structure and database, but I believe, it's possible to identify players based on their Steam ID, isn't it? If it's possible, we could retrieve all information for all servers based on the players Steam ID. Then we only need an auth key, which is mapped to this Steam ID for the login at the API.

Some of you may ask now: For what do we need this API?

Well... If you're offline, you may want to know, if your base is under attack or not. Android users can install the Android app to get such notifications. Discord users can use the Bot on the ExileMod Discord server. But what about TeamSpeak and iOS users? There is no solution for them. They need an Android phone or have to use Discord.

I don't want to buy an Android phone for this and I also don't want to use Discord, so I need a different solution. My suggested API would be the best solution in my opinion. Everyone could start developing tools / apps for his or her favourite tool (eg. TeamSpeak, Apple, IRC,...). The community of each server for example could provide a feature in their forum, where you can subscribe to email notifications when your base is under attack and display all (or only a few) in-game information (see above JSON examples) somewhere.

Some players are online in TeamSpeak, but not in Arma 3 Exile. I would write and publish for the community a plugin for TeamSpeak, which alerts users in TeamSpeak. I also would write a simple script in PHP or something else, which sends emails for example or sends messages to IRC or somewhere else.

Regarding security:

  • Each player should be able to see information only about his own player (and not others)
  • Each player (also the server admin) needs to authenticate somehow with the API (I would use an auth key; username and password isn't a good idea, because it can change)
  • Server admins can decide, if the API will be available and can be used by everyone or if they implement a solution in their forum or somewhere else, where users need to login
  • Server admins can decide, if the server should report the JSON information to exilemod.com or not

What do you think about this feature request?

  • Like 2

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.