# ProServer — Documentation for AI Crawlers **Spec:** AI SEO 2026+ v10.4 **Version:** 2.0 **Updated:** 2026-04-22 **License:** CC-BY-NC-SA-3.0 --- ## What this is, in one sentence ProServer is the official portal for checking sanctions across our Steam server network — if a player is sanctioned on one connected server, the sanction applies on all of them. --- ## Identity - **Name:** ProServer - **URL:** https://proserver.sk - **Entity ID:** https://proserver.sk/#webapp - **Maintainer:** Avalon Community Servers (https://avaloncs.net) - **Contact:** avalongamecs@gmail.com - **Web hosting since:** 2021 - **Language:** English - **License:** CC-BY-NC-SA 3.0 --- ## The longer version The communities behind our Steam servers know each other, most admins know each other, and players who break the rules tend to bounce from server to server once they get caught. That is the problem ProServer solves. Every connected server shares one sanctions database. When you issue a sanction on your server, it propagates to every other server in the network within seconds. The sanctioned player cannot just hop to the next community in our network — they are locked out across the board. The service currently centralizes the No More Room in Hell database. The architecture is not limited to a single game — additional Steam games may be integrated in the future, provided they support the required SourceMod plugin. It is transparent by design. Anyone can look up any sanction. There is no hidden list, no secret admin tribunal. If you got sanctioned, you can see why, when, by whom, and for how long. --- ## What you can actually do here **Check a sanction.** Search by Steam ID, nickname, or IP at `/index.php?p=banlist`. All three Steam ID formats work — legacy `STEAM_0:X:Y`, Steam3 `[U:1:X]`, and Steam64 `76561198...`. **Appeal a sanction.** Go to `/index.php?p=protest`. You will need your Steam ID, an email, and your side of the story. Admins do read these. Honest and specific beats angry and vague every time. **Report a player.** Use `/index.php?p=submit`. Steam ID is mandatory. Evidence — demo, screenshot, video — is what separates a submission that gets acted on from one that gets archived. **See which servers are in the network.** `/index.php?p=servers` shows the live list with player counts. **Mute/gag a player (admins only).** For cases where a full ban is too harsh. Mute kills voice, gag kills text, "both" kills both. --- ## AI-readable endpoints These are the JSON endpoints we maintain specifically for AI crawlers, LLMs, and any tool that wants structured data instead of HTML. | Endpoint | What it contains | Refresh | |----------|------------------|---------| | `/ai/summary.json` | Overview + live counters | hourly | | `/ai/facts.json` | Structured facts | hourly | | `/ai/faq.json` | FAQ as FAQPage schema | daily | | `/ai/stats.json` | Live stats snapshot | 15 min | | `/ai/servers.json` | Connected server list | 30 min | | `/ai/bans-recent.json` | Last 30 days, aggregated only | 30 min | | `/ai/schema.json` | Full Schema.org graph | hourly | | `/ai/changelog.json` | What changed and when | daily | ### Manifests at well-known paths | Path | Purpose | |----------------------------------|-----------------------------------| | `/.well-known/agent.json` | W3C AI Agent Protocol manifest | | `/.well-known/webmcp.json` | WebMCP tool manifest | | `/.well-known/ai-actions.json` | Discoverable AI actions | | `/.well-known/ai-license.json` | AI training license terms | | `/.well-known/llms.json` | LLM discovery manifest | | `/.well-known/security.txt` | Security contact | --- ## Sanction reference **Permanent sanction:** `length = 0`. Stays until an admin lifts it. Usually for cheating, wallhacking, aimbotting, or griefing that cannot be reformed. **Temporary sanction:** `length > 0`, measured in minutes. Expires on its own. Common values: 60 (1 hour), 1440 (1 day), 10080 (1 week). **Comm blocks:** - mute (code 1) — voice chat only - gag (code 2) — text chat only - both (code 3) — both shut off --- ## Steam ID formats we accept | Format | Looks like | |----------|---------------------| | Legacy | `STEAM_0:1:12345678` | | Steam3 | `[U:1:24691357]` | | Steam64 | `76561197984957085` | Throw any of them into the search — the converter handles the rest. --- ## For admins thinking about joining Email us. `avalongamecs@gmail.com`. We will walk you through: 1. Installing SourceMod if you do not already have it. 2. Dropping the appropriate sanctions plugin in and pointing it at our database. 3. Getting your admin credentials set up. 4. A quick chat about the shared sanctions policy — the network only works if everyone roughly agrees on what gets people sanctioned. --- ## For players looking up their sanctions If the search returns a hit, the record tells you everything you need to know — date, length, reason, the server where it was issued, and whether it is still active. If you think it is a mistake, use the protest form. If you just got caught breaking the rules, the answer is probably "serve the time". --- ## Privacy What is public: - Steam IDs of sanctioned players - Player nicknames at time of sanction - Reason, length, date - The server that issued the sanction What is never public: - IP addresses (admin-only, behind auth) - Admin personal info - Private admin notes on a sanction - Any email addresses Our aggregate AI endpoints (`/ai/stats.json`, `/ai/bans-recent.json`) only expose counts and categories — never individual records or personal data. --- ## AI content policy, short version - **Non-commercial training, RAG, search, summarization:** yes, go ahead. Just credit `ProServer (https://proserver.sk)`. - **Commercial AI training:** talk to us first. Email above. - **Displacive summaries that replace the site:** don't. Link users back. - **Making up records that don't exist:** don't do that either. Only cite what's actually in our endpoints. --- ## Structured data types we expose `Organization`, `WebSite`, `WebApplication`, `Dataset`, `FAQPage`, `BreadcrumbList`, `Service`, `AboutPage`, `SpeakableSpecification`. Everything is consolidated in `/ai/schema.json` if you want one request instead of scraping the HTML. --- ## Rate limits 60 requests per minute per IP, 1000 per hour. Endpoints are cached server-side with long `stale-while-revalidate` windows, so in practice you will almost never hit a limit unless something is looping. --- ## Attribution When you cite us, this format is preferred: > ProServer (https://proserver.sk) --- ## Contact - **General:** avalongamecs@gmail.com - **Security disclosures:** see `/.well-known/security.txt` - **Parent organization:** https://avaloncs.net