# README
api.tribalwarshelp.com
A GraphQL API designed for developers who want to create something meaningful for the game Tribal Wars.
Limits
It is possible to fetch in one GraphQL query:
- 1000 daily player/tribe stats records
- 200 ennoblements
- 30 versions
- 200 players/tribes
- 1000 villages
- 100 player/tribe history records
- 100 servers
- 60 server stats records
- 100 tribe changes
Sample queries
- Fetch all bonus villages with 10% more population
query {
villages(server: "en115", filter: { playerID: [0], bonus: 4 }) {
total
items {
id
name
x
y
points
}
}
}
- Top 30 players without a tribe, ordered by points.
query {
players(
server: "pl148"
filter: { tribeID: [0] }
sort: ["points DESC"]
limit: 30
) {
total
items {
id
name
rank
points
totalVillages
rankAtt
rankDef
rankTotal
rankSup
}
}
}
- Search a player by a nickname fragment.
query {
players(server: "pl148", filter: { nameIEQ: "%pablo%" }) {
total
items {
id
name
}
}
}
More examples here.
Map generator
You can generate a server map with this API. The current endpoint is http(s)://youraddress/map/server (replace "server" with the server you're interested in, for example, pl151).
Available query params:
Param | Default |
---|---|
showBarbarians | false |
largerMarkers | false |
markersOnly | false |
centerX | 500 |
centerY | 500 |
scale | 1 (max 5) |
showGrid | false |
showContinentNumbers | false |
backgroundColor | #000 |
gridLineColor | #fff |
continentNumberColor | #fff |
tribe(this param you can define multiple times) | format: tribeid,hexcolor (for example, tribe=631,#0000ff) |
player(this param you can define multiple times) | format: playerid,hexcolor (for example, player=631,#0000ff) |
Example
pl151
https://api.tribalwarshelp.com/map/pl151?showBarbarian=true&tribe=124,%230000ff&tribe=631,%230000ff&tribe=1675,%230000ff&onlyMarkers=false&scale=1&showGrid=true&showContinentNumbers=true
Development
Prerequisites
- Golang
- PostgreSQL database
- Configured cron
Installation
Required ENV variables:
DB_USER=your_pgdb_user
DB_NAME=your_pgdb_name
DB_PORT=your_pgdb_port
DB_HOST=your_pgdb_host
DB_PASSWORD=your_pgdb_password
LIMIT_WHITELIST=127.0.0.1,::1
LOG_DB_QUERIES=true
DISABLE_ACCESS_LOG=false
- Clone this repo -
git clone [email protected]:tribalwarshelp/api.git
- Open the folder with this project in a terminal.
- Set the required env variables directly in your system or create .env.local file.
- Run the app -
go run ./cmd/api/main.go
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
Dawid Wysokiński - [email protected]
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author