Giter Club home page Giter Club logo

realmeye-api's Introduction

the unofficial

RealmEye API

A quick and easy portal to getting all the character information you need.

How to use

Currently, the only method available is to get a player's personal and character info, as seen on RealmEye in JSON (or JSONP) format.

Setup

To run this API on your server, you will need to ensure you have the proper software installed, and correctly set up your environment.

To run the API, you will need the following installed on your server:

  • Latest Apache (known working on 2.4.20)
  • Latest PHP (known working on 7.1.5)
  • recommended: Git (known working with 2.7.4)

Once the above are installed and configured, create your desired endpoint directory within your webroot and git clone this repository.

Configuration

This application provides a sample set of configurations in config.ini.sample as a basis for application configuration. Though it runs fine without any configuration file provided, you may specify your own in a config.ini file.

The available configuration keys and their functions are as follows:

  • allowed_manual_deploy_ips[]: Each entry is a string defining an IP address which is allowed to trigger deployments manually. This string may contain wildcards—*—which may substitute for any part of the IP address being checked. For example, 127.* would allow 127.0.0.1.
  • REALMEYE-API_SECRET: This is the secret string configured to authenticate automated GitHub deployments. (read more below)
  • emit_version_header: A boolean which toggles the output of the RealmEye-API-Version header. If absent, the header will be emitted.
  • log_file_name: A string defining the name of log files stored in logs/.
  • log_level: A string which sets the limiting level for statements to be logged via the application logger. Allowed values are:
    • 'off'
    • 'fatal'
    • 'error'
    • 'warn'
    • 'info'
    • 'debug'
    • 'trace'

Automated GitHub deployment

For ease of maintenance, a deployment script has been provided for administrators. To make use of it, set allowed_manual_deploy_ips and REALMEYE-API_SECRET in your config.ini file, per the Configuration section above.

For more information on setting up a webhook for automated deployment, read GitHub's articles on Webhooks, and on Securing Webhooks.


Requests

Name Method Description
https://nightfirec.at/realmeye-api/ GET Get player and character data.

Parameters

Name Data Type Required / Optional Description
player string optional Player name. (case insensitive) If not included, id is required
id string optional 11-character id as it appears in an unnamed player's RealmEye URL. If not included, player is requred
filter string optional Accepts a space-separated string of variable names, with an optional leading hyphen. When not prefaced with a hyphen, directs the API to return only values with keys appearing in the given list. When prefaced with a hyphen, directs the API to return all usual values except those matching the provided keys.

Note: values nested within arrays will not be displayed unless their parent key is listed as well. (ex. class for characters will not be displayed unless character is also passed within the list)
callback string optional JavaScript callback function name. If passed, response will be served as JSONP
pretty N/A optional Empty parameter. If passed, output will be provided in a line-and-tab separated format

Response values

Name Type Definition
player string Player name, cased as seen on their profile
donator boolean true if the player donated to Realmeye, false otherwise
chars int Count of characters seen on RealmEye. If characters are hidden, this is -1
skins int Number of skins unlocked. If characters are hidden, this is -1
skins_rank int Rank of number of skins. If characters are hidden, this is -1
fame int Total character fame
fame_rank int Fame placement
exp int Total character experience
exp_rank int Experience placement
rank int Class quests completed
account_fame int Account fame. (aka 'dead' fame)
account_fame_rank int Account fame placement
guild string Guild name. This value is "" for guildless players
guild_confirmed bool true if the user is confirmed their guild, false otherwise. This should only be false for members of guilds whose names contain spaces, and who have not been "confirmed" as a guild member in RealmEye
guild_rank string Guild position title. (Initiate, Member, Officer, Leader, or Founder) This value is "" for guildless players
created string Approximation of account age. May display "hidden" by player preference
player_last_seen string "{datetime} at {server} as {class}". May display "hidden" by player preference
desc1, desc2, desc3 string Full strings of each description line (by numbered line) of the player. If the given line is empty, this value is ""
characters array Array of displayed characters. If characters are hidden, this array will be empty and characters_hidden will be true
characters_hidden boolean true if the player's characters are hidden, false otherwise

character

Name Type Definition
data_pet_id int Item id of the given pet. -1 if character has no pet
pet string Pet type. (not player-assigned pet name) "" if character has no pet
character_dyes dict Dictionary of character dyes as strings and dye data as ints.
clothing_dye is the name of the large cloth/dye
accessory_dye is the name of the small cloth/dye

data_clothing_dye is the numbered id of the color, not of the item. (for use in rendering character images, for example)
data_accessory_dye is the numbered id of the color, not of the item. (for use in rendering charcter images, for example)
Data values are 0 for undyed characters. Cloth/dye names are "" if un-dyed
class string Class name
data_class_id int id assigned to that character's class
data_skin_id int id assigned to that character's skin. 0 if character is using the class's default skin
level int Character level
cqc int Class quests completed on character's class
fame int Fame on character
exp int Experience on character
place int Character rank placement
equips dict Dictionary of equipments as strings and item ids as ints.
Name keys are weapon, ability, armor, and ring. Data-variable keys are data_weapon_id, data_ability_id, data_armor_id, and data_ring_id.
Empty slots' values are "Empty slot" and -1, respectively.
backpack boolean true if character has a backpack, false otherwise
stats_maxed int Number (out of 8) of stats maxed on character
stats dict Dictionary of individual base stats (hp, mp, attack, defense, speed, vitality, wisdom, and dexterity) as ints.
last_seen string "YYYY-MM-DD hh:mm:ss". If last-seen time/location is hidden, this value is ""
last_server string Full name of last server seen in. (e.g. "USNorthWest") If last-seen time/location is hidden, this value is ""

Sample requests

  • GET https://nightfirec.at/realmeye-api/?player=joanofarc
  • GET https://nightfirec.at/realmeye-api/?id=PdT6pPU7qBN&callback=processPlayer
  • GET https://nightfirec.at/realmeye-api/?player=joanofarc&filter=player+chars+fame
  • GET https://nightfirec.at/realmeye-api/?player=joanofarc&filter=-characters+desc1+desc2+desc3
  • GET https://nightfirec.at/realmeye-api/?player=joanofarc&pretty

Sample responses

For player=joanofarc:

{
    "account_fame"         : 35662,
    "account_fame_rank"    : 264,
    "characters"           : [
        {
            "backpack"             : true,
            "character_dyes"       : {
                "accessory_dye"        : "Small Sweater Cloth"
                "clothing_dye"         : "Large Blue Lace Cloth",
                "data_accessory_dye"   : 83886083,
                "data_clothing_dye"    : 150994946,
            },
            "class"                : "Rogue",
            "cqc"                  : 4,
            "data_class_id"        : 768,
            "data_pet_id"          : 32611,
            "data_skin_id"         : 913,
            "equips"               : {
                "ability"              : "Cloak of Ghostly Concealment",
                "armor"                : "Spectral Cloth Armor",
                "data_ability_id"      : 2855,
                "data_armor_id"        : 3112,
                "data_ring_id"         : 2978,
                "data_weapon_id"       : 3082,
                "ring"                 : "Ring of the Pyramid"
                "weapon"               : "Dirk of Cronus",
            },
            "exp"                  : 805974,
            "fame"                 : 608,
            "last_seen"            : "2013-08-02 07:04:16",
            "last_server"          : "USNorthWest"
            "level"                : 20,
            "pet"                  : "Gummy Bear",
            "place"                : 589,
            "stats"                : {
                "attack"               : 50,
                "defense"              : 25,
                "dexterity"            : 75
                "hp"                   : 720,
                "mp"                   : 252,
                "speed"                : 75,
                "vitality"             : 40,
                "wisdom"               : 50,
            },
            "stats_maxed"          : 8
        },
        //... (all other characters)
    ],
    "characters_hidden"    : false,
    "chars"                : 13,
    "created"              : "~1 year and 137 days ago",
    "desc1"                : "I fight for the glory of France.",
    "desc2"                : "https://www.youtube.com/nightfirecat/",
    "desc3"                : "https://JoanOfArcRotMG.wordpress.com/",
    "donator"              : true,
    "exp"                  : 13152470,
    "exp_rank"             : 513,
    "fame"                 : 8300,
    "fame_rank"            : 497,
    "guild"                : "Night Owls",
    "guild_rank"           : "Officer",
    "player"               : "JoanOfArc",
    "player_last_seen"     : "2013-08-02 07:04:16 at USNorthWest as Rogue",
    "rank"                 : 62,
    "skins"                : 0,
    "skins_rank"           : 103495
}

For player=joanofarc&filter=player+chars+fame:

{
    "chars"                : 13,
    "fame"                 : 8300
    "player"               : "JoanOfArc",
}

For player=joanofarc&filter=-characters+desc1+desc2+desc3:

{
    "account_fame"         : 35662,
    "account_fame_rank"    : 264,
    "characters_hidden"    : false,
    "chars"                : 13,
    "created"              : "~1 year and 137 days ago",
    "donator"              : true,
    "exp"                  : 13152470,
    "exp_rank"             : 513,
    "fame"                 : 8300,
    "fame_rank"            : 497,
    "guild"                : "Night Owls",
    "guild_rank"           : "Officer",
    "player"               : "JoanOfArc",
    "player_last_seen"     : "2013-08-02 07:04:16 at USNorthWest as Rogue",
    "rank"                 : 62,
    "skins"                : 0,
    "skins_rank"           : 103495
}

realmeye-api's People

Contributors

jacobvs avatar nightfirecat avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.