The rulebook Season 1
1. Eligibility and accounts
The league is open to anyone who owns WARDOGS on Steam and can make the league nights. There is no fee.
- One Steam account per person. You sign in through Steam and the SteamID you sign in with is the one the referee checks in game. Sign in with the account you play on. A second account, a smurf, or an account shared between two people is banned from the league, and every team it was rostered on carries the consequences of the matches it played.
- You must be old enough to hold a Steam account and to play WARDOGS under the terms of Steam and of the game. The league does not verify age and does not ask for it.
- A player who is banned from the AE servers is banned from the league for the same period.
- The league is run by two admins, named in the #wd-league channel on the AE Gaming Discord. They hold the admin seats on this site, they make every decision this rulebook leaves to a person, and their decisions are final.
2. Format
9 teams of 30. A weekend is a full round robin of 4 rounds: 3 rounds on Friday night, every 105 minutes, and the rest on Saturday before the finals. In each round three group matches run at the same time on three servers, three teams per server, one team per faction:
RED
GREEN
BLUE. The weekend table after the group rounds sends the top three to the Saturday final on one server, fourth to sixth to the plate and seventh to ninth to the shield on the other two servers at the same time, so every team plays both nights and finishes the weekend with a placement. Over 4 weeks every team meets every other team exactly once in the groups (nine teams split as the affine plane of order three: twelve lines of three in four parallel classes). Sides are assigned so each team cycles through all three factions.
3. Game night
Every time on this site is US Eastern. Doors open 60 minutes before kickoff, kickoff is 19:00 Eastern on Friday and 18:00 Eastern on Saturday, and doors close 6 hours after kickoff. Nothing runs outside the window: a match still live at doors close is ended on the score as it stands. Turn up, or your slot goes to drop-ins.
4. The game mode
WARDOGS King of the Hill, infantry only: league servers run the KOTH_InfantryOnly experience on every map, which removes tanks, helicopters and armoured vehicles, so the fight is rifles, positioning and the zone. Three factions fight over a Control Zone inside the wider battlefield. Whichever faction has the most players inside the zone earns one point every 30 seconds. Nothing else scores: not kills, not vehicles, not cash. The Hot Zone is the smaller area inside the Control Zone where a player counts double towards control and rewards are doubled; capturing the map's towers gives one digit each of a four-digit code, and a full code entered at your own tower pulls the Hot Zone towards it. The first faction to 100 points wins, and there is exactly one winner: there is no clock and no draw. The other two are placed by score, then kills, then fewer deaths. Matches regularly run past an hour, which is why the league's safety limit is 120 minutes; it exists for a broken server, not for the game.
5. Teams and rosters
Sign in through Steam. A captain creates the team, picks a name and a tag (both unique in the season) and gets an invite link. Players sign in through Steam and open the link, or type the code on the sign-up page, and they are on the roster.
- A roster is 30 players. It locks itself the moment the 30th player joins. The captain can lock early once the team has 30.
- One team per player per season. A player on a roster cannot join a second team or the pool. A pool agent who accepts a captain's request leaves the pool.
- While a team is forming, a player can leave from the team page and the captain can remove anyone but themselves. The captain cannot leave; a captain who wants out withdraws the whole team.
- After lock there are no transfers. Nobody joins, nobody leaves, nobody moves between teams. An admin can unlock a roster in an emergency, and every unlock is written to the audit log.
- A team can withdraw itself while sign-up is open. Once the fixtures are drawn a withdrawal is an admin action and the team's remaining fixtures go to drop-ins.
- The season holds 9 teams. When the 9th roster locks, sign-up is full.
Captain duties. The captain speaks for the team: they answer the short-side warning, they chase silent players before kickoff, they list the clan Discord if there is one, and they are the person the admins contact about a dispute or a mark. A captain who cannot do that for a night names a stand-in in #wd-league before doors open.
6. Free agents and the draft
No team? Join the pool. Every free agent has a card on the draft board: their record from the AE 50/50 servers (kills, deaths, K/D, hours, matches, best match), their league rating, their standing (do they turn up, see section 8) and the league nights they have ticked as available. Captains read the board and ask; agents answer. Nobody lands on a roster without saying yes.
- Ask and accept. A captain of a forming team sends a request from the board with an optional line of text. The agent accepts or declines from their own page. Accepting puts them on the roster at once; if that was the 30th player the roster locks.
- A request nobody answers expires after 7 days. Every request expires when sign-up closes. A captain who is declined waits 3 days before asking the same player again, and a team can hold at most 40 open requests at once.
- Availability. When you join the pool you tick the league nights you can make. Captains only ask players who will turn up, so the ticks matter as much as the stats. Change them on your page whenever your plans change.
- The pool drafts itself. The moment the pool holds 30 agents a pool team is drafted and locked with nobody pressing anything, and again at every further 30, while the season has room for another team. Agents are sorted by rating and dealt serpentine (1 to N, then N to 1) into teams of 30, then a swap pass trades one player at a time between the strongest and the weakest pool team while it narrows the gap. The highest-rated agent is captain. Agents left over stay in the pool as drop-ins.
- Drop-ins. On match night, a pool agent who joins a lobby is a drop-in: the referee assigns them to the side with the fewest players present (never over 30), locks them there, and their stats count for that team for that match. Drop-ins are never marked; they were never obliged to be there.
7. Attendance, check-in and black marks
Signing up is a commitment. The whole format rests on 30 people turning up at the same hour, so the league makes turning up easy and dropping out visible early. This section is the full system.
Before the match
- Check-in opens 48 hours before kickoff. Every rostered player says in or out on the match page, with an optional note. You can change your answer until the lobby opens.
- Out, declared 6 hours or more before kickoff, is an excused absence. No black mark, and standing loses 3 instead of 10. Your captain is told at once, with the count of confirmed, out and silent. Out declared later than that is noted as late and is not excused.
- Reminders go to everyone who has not answered at 24 hours and again at 3 hours before kickoff, on the site and on Discord if you have linked it.
- Short-side warning. At 3 hours, a team with fewer than half its roster confirmed (15 of 30) has its captain warned, and the pool is told in #wd-league that drop-ins are wanted for that match.
After the match
- The referee compares each roster against who was actually seen on the server between the lobby opening and the end. A rostered player who never appeared gets a black mark, unless they declared out in time. The mark is written on the match, shown on the player's profile, the leaderboard and the team page.
- A team that fielded fewer than half its roster (15 of 30) gets a team mark, whatever the result.
- Two personal marks in a season closes sign-up to that account for the rest of the season: no team, no pool, no accepting requests. If the account is in the pool at the time it is removed from the pool.
- Two team marks in a season is an automatic withdrawal. The team's remaining fixtures are unassigned and go to drop-ins, and every player on it is freed to join the pool or another forming team.
- Marks are counted per season. A new season starts every account at zero for sanctions; the tally on your profile is your history and stays.
- A mark can be appealed within 7 days (section 16). The admins clear a mark when the box, not the player, was at fault.
8. Standing
Standing is one number that says whether you turn up. It is on your profile, on your draft card, and next to your name on every roster.
standing = 100 - 10 x missed - 20 x marks - 3 x excused, floored at 0, where excused is the number of finished league matches you declared out of in time, missed is the number you were rostered for and neither played a minute of nor excused, and marks is your black marks. A mark costs 20 on top of the 10 for the miss it came from, so an unexcused no-show is 30 and a declared absence is 3. Until you have been rostered for a finished match you are Unproven, not 100.
Labels: Reliable 90 and above, Solid 70 to 89, Shaky 40 to 69, Risky below 40.
Show probability. Behind the label the site keeps a probability that you will be there next time: p = (played + 4) / (rostered + 5 + 2 x marks). That is a Beta(4, 1) prior centred on 0.8 (a new player is assumed to turn up four times in five) updated by your history, with each mark counting as two extra chances not taken. A team's expected turnout is the sum of p over its roster, shown on the team page next to the roster count, so a captain can see a weak night coming before it arrives.
| Rostered | Played | Excused | Marks | Standing | p |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | Unproven | 4 / 5 = 0.80 |
| 6 | 6 | 0 | 0 | 100 Reliable | 10 / 11 = 0.91 |
| 6 | 5 | 1 | 0 | 97 Reliable | 9 / 11 = 0.82 |
| 6 | 5 | 0 | 0 | 90 Reliable (one miss, mark cleared on appeal) | 9 / 11 = 0.82 |
| 6 | 5 | 0 | 1 | 70 Solid | 9 / 13 = 0.69 |
| 4 | 2 | 0 | 2 | 40 Shaky, sign-up closed | 6 / 13 = 0.46 |
| 3 | 0 | 0 | 2 | 30 Risky, sign-up closed | 4 / 12 = 0.33 |
9. Why thirty, and why we chase attendance
A side is 30 because that is the number that makes a KOTH zone fight feel like a battle rather than a skirmish, and because three sides of thirty fill a server. The arithmetic of turnout is what everything above is for. If every player on a roster shows with probability p = 0.85, the expected turnout is 0.85 x 30 = 25.5 and the binomial chance of a team falling below 15 (a team mark) is about 1 in 870,000, comfortably under 1 in 100,000. Drop p to 0.6 and the expected turnout is 18, and the chance of falling below 15 is about 1 in 10, every match. The difference between a league that runs and a league that collapses is not the format, it is the p, and p is set by the people on the roster. Standing puts a number on it, check-in gives a captain three hours to act on it, and the marks are the cost of ignoring it.
10. Match day
60 minutes before kickoff the referee tosses the map, sets a join password (shown on the match page to rostered players and free agents only), reserves a slot for every rostered player and opens the lobby. Anyone not on a roster or in the pool is removed. Every rostered player is pushed to their team's side and kept there for the whole match. Switching sides is reversed automatically and logged. At kickoff the match restarts at 0-0-0 with everyone in place.
11. Result
The faction that reaches 100 is the winner; second and third are separated by score, then kills, then fewer deaths. The match ends the instant the cap is hit (the referee reads the score every two seconds), or, only if something is broken, at the safety limit or on a referee decision. Group points 3 / 1 / 0, final 5 / 2 / 0, plate 3 / 1 / 0, shield 2 / 1 / 0. The table and its tiebreaks are in section 17.
12. Ratings
Team rating is Elo, three ways. A match is three pairwise contests decided by placing. For each pair the expected result is E = 1 / (1 + 10^((Rb - Ra) / 400)); the actual result is 1 for the better placing, 0.5 for a dead heat, 0 otherwise. The change is K x margin x (S - E) summed over both opponents, with K = 32 for a group match and 48 for a final, and margin = 1 + min(score gap, 100) / 200. Everyone starts at 1500 and the three changes in a match sum to zero.
Player rating comes from match impact: I = (10 K - 6 D + 3 HS) / T + P with K kills, D deaths, HS headshots, T = minutes present / 10 (floor 1) and P = 5 / 2 / 0 for the team's placing. Rating = 1000 + 40 x mean(I) x sqrt(min(n, 10) / 10) over n rated matches, so one big night cannot outrank a body of work.
13. Stats
Every kill from the server feed is logged with weapon, distance and context, and only counts between kickoff and the end. The leaderboard and player pages read from that log, nothing else.
14. The toss
Each fixture publishes a sha256 commitment when it is drawn. At toss time the seed is revealed and the map index is the first eight hex characters of the seed as a number, mod the pool size. Anyone can verify it.
15. Conduct
You are playing on AE servers under AE rules. The following get you removed from the league:
- Cheating of any kind: aimbots, wallhacks, macros, modified clients, and anything else that gives information or input the game does not.
- Exploits: glitching out of the map, into geometry, or abusing a bug for advantage, whether or not it is known.
- Teamkilling on purpose, griefing your own side, blocking spawns or vehicles, and throwing a match.
- Hate speech, slurs, harassment and threats, in game, in voice or on Discord.
- Stream sniping: using a live broadcast of the match to gain information.
- Account sharing and playing on someone else's account (section 1).
Sanctions run in a ladder: a warning on the record, a match ban (the player sits out and the team plays short), a season ban, and a fleet ban across every AE server. Cheating and hate speech start at the top of the ladder. A sanctioned player's stats for the match in question are voided; the team result stands unless the admins rule the match was decided by it.
Evidence. Anti-cheat evidence comes from the server feed (every kill with weapon, distance and headshot, the same feed the stats read) and from the SHEPHERD review on ae-gaming.com, which compares a player's numbers against the fleet baselines and the Steam record. Recordings from players are welcome and are weighed with the rest. Decisions are made by the two admins, in writing, and are final. There is no discussion of conduct in game. Report it on Discord after the match and let the referee's log speak.
16. Match procedure and disputes
- The referee is software. It opens the lobby, tosses the map, places every player, reads the score, ends the match and writes the marks. Its log on the match page is the record of the match. Where the log and a memory differ, the log wins.
- Server crash or referee fault. If a league server goes down mid-match or the referee misbehaves, the admins either replay the match in the next free slot or void it. A voided match scores nothing and awards no marks. Nobody is marked for a match the box could not host.
- Results stand after 24 hours. A match result not disputed within 24 hours of the end is final and the table is settled.
- Disputes in writing. Open a thread in #wd-league on the AE Gaming Discord within 24 hours, with the match link and what you say happened. The admins answer in the thread. Disputes raised in game, in voice or by DM are not disputes.
- Appeals of black marks within 7 days of the match, the same way, with the match link. The admins clear a mark when the server, the referee, the password or the Discord ping was at fault and the player was not. A mark for not turning up is not cleared because you forgot.
17. Tiebreaks
The league table is ordered by, in this order: points, then finals won, then wins (first placings), then total score (zone points across the season), then kills, and finally the team name in alphabetical order. That is the whole list; there is no head-to-head rule and no coin toss in the table, and if one is ever added it will be written here before it is used.
The weekend table that sends teams to the final, plate and shield is the same ordering over that weekend's group rounds only. Finals won is zero for everyone at that point, so in practice it is points, wins, score, kills, name.
Within a match the faction at 100 is first. The other two are placed by score, then kills, then fewer deaths, then the slot they were drawn in. A dead heat on all three between the two losers is shown as tied on the match page and both take the points of the placing they were given.
18. Discord
Link your Discord on your account page and the league pings you in the announcements channel when your lobby opens, with the server and password, and again at kickoff and with the result. Check-in reminders and draft requests go the same way. Captains can list their clan Discord on the team page so players and opponents can find them.
19. Data and privacy
The site stores your SteamID, your public Steam persona and avatar, your Discord id and name if you link it, and everything that happens in league matches: kills, deaths, headshots, minutes, check-ins and marks. Persona, stats, standing and marks are public; SteamID and Discord id are seen by admins only. There is one signed session cookie, no trackers and no ads. The full statement, what we keep and for how long, and how to have an account removed, is on the terms of participation page.
Rulebook v2, September 2026. Changes are announced in #wd-league before they apply.