Docs - Server War (0.1.0)

Download OpenAPI specification:

A multiplayer strategy game where players control virtual servers (IPv4 addresses). Players can attack opponents servers, defend their own, and capture vulnerable servers. The game is played entirely via REST API calls.

leaderboard

Get leaderboard

Get the global leaderboard showing top players by server count. This is a public endpoint.

query Parameters
page
integer
Default: 1

Page number

per_page
integer
Default: 50

Items per page (max 100)

Responses

Request samples

curl -X GET "https://api.serverwar.0x00.cl/v1/game/leaderboard?page=1&per_page=50" \
  -H "X-API-Client: web"

Response samples

Content type
application/json
{
  • "entries": [
    ],
  • "page": 1,
  • "per_page": 50,
  • "total": 100,
  • "total_pages": 0
}

Get my ranking

Get the authenticated player's current ranking and server count

Authorizations:
BearerAuth
header Parameters
X-API-Client
required
string

Any string value

Responses

Request samples

curl -X GET https://api.serverwar.0x00.cl/v1/players/me/ranking \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Client: web"

Response samples

Content type
application/json
{
  • "rank": 42,
  • "server_count": 20,
  • "total_players": 100
}

game

Get game status

Get overall game statistics including total servers, owned servers, and player count

Authorizations:
BearerAuth
header Parameters
X-API-Client
required
string

Any string value

Responses

Request samples

curl -X GET https://api.serverwar.0x00.cl/v1/game/status \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Client: web"

Response samples

Content type
application/json
{
  • "owned_servers": 1000,
  • "total_players": 50,
  • "total_servers": 65536,
  • "unowned_servers": 64536
}

Attack a server

Attack a target server using one of your servers. If your bandwidth exceeds the target's CPU/memory, you capture the server. Both servers go on cooldown after an attack.

Authorizations:
BearerAuth
path Parameters
ip
required
string

Target server IP address

header Parameters
X-API-Client
required
string

Any string value

Request Body schema: application/json
required

Attack details

attacking_ip
required
string

IP address of the server performing the attack (must be owned by player)

Responses

Request samples

Content type
application/json
{
  • "attacking_ip": "192.168.1.1"
}

Response samples

Content type
application/json
{
  • "captured_server": {
    },
  • "cooldown_remaining": "5m0s",
  • "cooldown_until": "2024-01-15T11:00:00Z",
  • "message": "Server captured successfully!",
  • "previous_owner_id": "550e8400-e29b-41d4-a716-446655440000",
  • "success": true
}

Scout a server

Gather intelligence on a target server. Reveals owner, defense strength, and cooldown status.

Authorizations:
BearerAuth
path Parameters
ip
required
string

Target server IP address

header Parameters
X-API-Client
required
string

Any string value

Responses

Request samples

curl -X POST https://api.serverwar.0x00.cl/v1/servers/198.51.100.1/scout \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Client: web"

Response samples

Content type
application/json
{
  • "defense": {
    },
  • "ip": "192.168.1.100",
  • "owner": {
    },
  • "status": {
    }
}

players

Get current player info

Get information about the currently authenticated player, including server count and protection status

Authorizations:
BearerAuth
header Parameters
X-API-Client
required
string

Any string value

Responses

Request samples

curl -X GET https://api.serverwar.0x00.cl/v1/players/me \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Client: web"

Response samples

Content type
application/json
{
  • "created_at": "2024-01-15T10:30:00Z",
  • "id": "550e8400-e29b-41d4-a716-446655440000",
  • "last_active": "2024-01-15T12:45:00Z",
  • "protection": {
    },
  • "server_count": 5,
  • "username": "hacker123"
}

Deactivate player account

Deactivate the current player's account. This action is irreversible.

Authorizations:
BearerAuth
header Parameters
X-API-Client
required
string

Any string value

Responses

Request samples

curl -X DELETE https://api.serverwar.0x00.cl/v1/players/me \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Client: web"

Response samples

Content type
application/json
{
  • "message": "Operation completed successfully"
}

Register a new player

Register a new player account and receive an API key for authentication. New players receive initial servers and protection period.

header Parameters
X-API-Client
required
string

Any string value

Request Body schema: application/json
required

Player registration details

username
required
string [ 3 .. 50 ] characters

Alpha numeric username between 3 and 50 characters

Responses

Request samples

Content type
application/json
{
  • "username": "hacker123"
}

Response samples

Content type
application/json
{
  • "api_key": "a1b2c3d4e5f6...",
  • "created_at": "2024-01-15T10:30:00Z",
  • "initial_servers": [
    ],
  • "player_id": "550e8400-e29b-41d4-a716-446655440000",
  • "protection_until": "2024-01-15T11:00:00Z",
  • "username": "hacker123"
}

servers

Get all servers

Get a paginated list of all servers in the game

Authorizations:
BearerAuth
query Parameters
page
integer
Default: 1

Page number

per_page
integer
Default: 50

Items per page (max 100)

header Parameters
X-API-Client
required
string

Any string value

Responses

Request samples

curl -X GET "https://api.serverwar.0x00.cl/v1/servers?page=1&per_page=50" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Client: web"

Response samples

Content type
application/json
{
  • "page": 1,
  • "per_page": 50,
  • "servers": [
    ],
  • "total": 65536,
  • "total_pages": 1311
}

Get my servers

Get all servers owned by the authenticated player

Authorizations:
BearerAuth
header Parameters
X-API-Client
required
string

Any string value

Responses

Request samples

curl -X GET https://api.serverwar.0x00.cl/v1/servers/mine \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Client: web"

Response samples

Content type
application/json
{
  • "count": 5,
  • "servers": [
    ]
}

Get unowned servers

Get a paginated list of unowned servers that can be captured

Authorizations:
BearerAuth
query Parameters
page
integer
Default: 1

Page number

per_page
integer
Default: 50

Items per page (max 100)

header Parameters
X-API-Client
required
string

Any string value

Responses

Request samples

curl -X GET "https://api.serverwar.0x00.cl/v1/servers/unowned?page=1&per_page=50" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Client: web"

Response samples

Content type
application/json
{
  • "page": 1,
  • "per_page": 50,
  • "servers": [
    ],
  • "total": 65536,
  • "total_pages": 1311
}

Get server by IP

Get detailed information about a specific server by its IP address

Authorizations:
BearerAuth
path Parameters
ip
required
string

Server IP address

header Parameters
X-API-Client
required
string

Any string value

Responses

Request samples

curl -X GET https://api.serverwar.0x00.cl/v1/servers/198.51.100.1 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Client: web"

Response samples

Content type
application/json
{
  • "bandwidth": 100,
  • "captured_at": "2024-01-15T10:30:00Z",
  • "cooldown_until": "2024-01-15T11:00:00Z",
  • "cpu_memory": 100,
  • "ip": "192.168.1.100",
  • "on_cooldown": false,
  • "owner_id": "550e8400-e29b-41d4-a716-446655440000",
  • "owner_username": "hacker123"
}