Arma Reforger Playerlist/ban list
Seeing that on Arma Reforger if you have rcon linked to it via battlemetrics I had a few questions.
Why does the ban system just kick them rather then sending a ban command via rcon to hard ban them via base game system then running the unban command when their ban is up or removed?
Is there a way to pull the playerlist via api for a discord bot for the arma reforger servers that have rcon access?
Is there a way to do the time played leaderboard like you see on servers like squad and pull it via api for a discord bot as I can see time played on the user's profile based off the arma ID for arma reforger servers that have rcon access?
5 Replies
1. BM system does that for all games,
The reasoning for this is it's easyier to control, you have instant ban removal,
Alot of games ban systems aren't the best and require some sort of server side action before the ban is actually removed.
Some games support a "Ban Sync" Where the ban not only is issued in BM but also to the server, it will stay on server for a set time per settings in Ban List.
2. for games that does not support player list, yes their is a way to pull it, but you would have to pull it via a Raw Command. or do some strange API request of player search, filter server, online now. (im unsure if this will be correct)
3. leaderboard is linked to playerlist, without playerlist leaderboard is not generated, squad no longer contributes to the leaderboard as the playerlist is no longer, so alot of the times your seeing the past leadersboards that occured when the playerlist was supported.
4. you can create your own leaderboard, but you would need to query each player and pull their server time manually into your own database & generate it off that using the RCON data.
P.S Good to see you 🙂
You too lol
Alright my main goal was the leaderboard, playerlist isn't a big deal but I've always found the leaderboards to be fun and it would be cool to allow users to see the top players
yeah best bet would be to pull all current hours,
Then set it to run once a week to calculate their weekly hours.
all would have to be setup on your end.
@[MIG] EOC LongBarrelSo I am finally doing the leaderboard setup by pulling all the players from the org then taking the ID from the database to run it through another api to get the playtime from server 1 and server 2 (2 api req per person). So it seems I am pushing well around 100k, Would there be a way to get my rate limit increased?
just to cut down on the time it takes to run weekly
also another question I had regarding API, is there a way to get a playerlist from rcon showing the BM playerids? If so I would rather have it run that api every 5 minutes or so to pull a list of the active players so it only has to pull the data from those players ensuring that only those active are actually being ran through the API
Making it so people can search and see their hours as well as having a leaderboard for it
Was able to run the overall players at 45 requests a second, but doing *api.battlemetrics.com/players/$player_id/servers/$server_id * is limited to 300 a minute but am needing to run 100k or so different players with 2 api requests each one
No, To my knowledge hordicus has never upp'd someone's limit while im here.
If server has playerlist on info.
Server info endpoint. Include players include identifier
Player info include servers include identifiers filter org should return all time in 1 request.
Player Info Endpoint:
Reforger doesn't support playlist.
So server info won't work.
If i remember,
Server should have playerlist command?
Run Raw RCON Command via API to the server & get the list returned over API.
Just won't have BM id's.
But you can batch match 100 ID's at once to get the BM ID returned.
So Endpoints:
Player Info
Player Match Identifers.
Raw Command (Hidden one)
thats the 3x endpoints you need and should cut requests down majorly.
300 player request per minute x 60 minutes = 18,000 players
Don't think your doing that much turn over of players in a week.
1x request for Raw (player list)
1x request per raw command for BM id's (Player Match, Abillity to batch 100 requests per request)
once you have a player ID linked to a BM ID it can be excluded from the match endpoint.
Let the data base link them and just request new ID's you don't have.