Void League
online
Preseason

Every freeze
is worth something.

A competitive FNG league for Teeworlds, on four servers in Falkenstein. Land a freeze and it is scored against the player you landed it on, so beating somebody better than you moves your rating further than beating somebody worse.

The rating

Who you beat is the whole point

Every freeze is one Elo exchange against the player you landed it on. Beating somebody above you pays; beating somebody far below you barely moves the needle, and losing to them costs. There is no participation number here and no way to grind one out: the only thing that raises a rating is winning exchanges against people who can also win them.

Repeated fights against the same person are damped as a pair, so farming one opponent all evening pays less each time, and feeding an alt costs the feeder exactly what it gives.

The formula, in full
Four servers

One public ladder, three arenas

The Ladder is always open and always recording. The 1v1, 2v2 and 3v3 servers are where organised matches are played, and they are picked on purpose rather than balanced for you. Everything is logged: every freeze, every spike, every round, with a demo kept for anything ranked.

Loading
Ranked

Queue, and a server builds itself

Run one command in Discord. When the queue fills, a server is created for that match alone, the rosters are posted, and it shuts itself down when the last round ends. The result and the full stat tables are up within seconds.

Ranked carries its own rating and its own ladder of ranks. A win is worth about 25 either way, more against a stronger side and less against a weaker one, so a rank is a number of wins rather than a number nobody can read.

How ranked works

Start here

01

Join the Ladder

Open Teeworlds, find FNG EU | Void League · Ladder in the server browser, or connect straight to the address. Nothing has to be set up first: your stats start recording the moment you play.

178.63.49.229:8303
02

Claim your name

Teeworlds does not authenticate names, so an unclaimed name gathers stats but can never hold a rank. In Discord run /link for a code, then type /link <code> in game. Your rating then follows your account, not the name you happen to be using.

03

Queue for ranked

Run /match 1v1, 2v2 or 3v3 in Discord. When enough people are waiting, a server is created for that match alone, everyone gets the address, and it shuts itself down at the end.

Discord is where linking, queueing and clans happen. Ask anybody already in the league for an invite.

This season so far

Loading

Top of the ladder

Loading

Latest results

Loading
1 October

Season 1 opens the clock

Seasons are calendar quarters. On 1 October the ladder, the ranked board and the season achievements all reset, and Season 1 runs with ranked cups and cash prizes. Career achievements never reset, and nothing recorded is ever deleted, so any past season can be replayed exactly as it happened.

What carries over
Reference

How it works

Everything below is how the league actually behaves, not how it is meant to. The numbers are the constants the server is running right now.

From a freeze to a rank

The game server records what happened and stops there. Rating is computed separately, from those records, which means the formula can change and the whole season can be replayed from the same rows.

The questions people actually ask

Loading

What a duel is worth

One freeze, at the ratings shown. Beating somebody two hundred points above you is worth roughly three times beating somebody two hundred below.

Ranks

Fixed numbers rather than percentiles, so a rank means the same thing in a league of twenty as in a league of two thousand. A rating has to clear a boundary by fifteen points before the rank changes, so nobody sitting on the line gets swapped back and forth.

Public play

Ladder

One Elo exchange per freeze, wherever you landed it: the public Ladder and ranked matches both count. Public rounds add a delta for winning the round if you were actually in it. Ranked matches do not, because their result already moves the ranked rating below. Everybody starts at 1000. This is the number that appears beside your name in Discord and sets your rank.

Ranks

Your rating is the number. Your rank is the name it earns you, and it is what appears beside you in Discord and on the scoreboard here. Eight of them, and you start outside all of them.

Loading

Nobody holds a rank until 50 duels are behind them, because a rating off ten duels is a guess.

Ranks do not flicker either. It takes 15 points clear of a boundary to move, so sitting on 1125 does not promote and demote you every other round.

Standings

Loading

The other number

Ranked is a second rating, on its own ladder, from the results of organised matches rather than from individual freezes. The duels inside a ranked match feed the rating above; the result of the match feeds that one. Neither is paid twice. How ranked works and where it stands →

Boards

Organised play

Ranked

Two teams, picked from a queue, on a server that exists for one match and then shuts down. Ranked does not care how many freezes you landed or what the score was. It asks one question, and the answer is the whole rating: did your side win.

What a win is worth

Loading

Ranks

A separate ladder from the public one, with its own names and its own badges. The shape is the tell: ranked ranks are shields, Ladder ranks are hexagons, so you can see which one a badge belongs to without reading it.

Loading

Getting in

Standings

Loading

Two numbers, on purpose

Ranked

Matches

Every ranked match runs on its own server, records a demo, and shuts itself down when it ends. The result and the full stat tables are posted within seconds. The roster is fixed when the match is created, so nobody can join it who was not in the queue.

Played

Loading
Profiles

Players

Names are tracked whether or not they are linked to a Discord account, but only a linked name can hold a rank or enter ranked.

Loading
Rosters

Clans

A clan tag typed into your client means nothing here. Membership is registered in Discord and stamped onto the match record when the match is created, so wearing somebody else's tag in game changes nothing at all. Founding one needs a linked name and thirty minutes on the Ladder.

Registered

Loading

Held tags

A held tag cannot be founded by anyone else, nor by a spelling that normalises to the same key.

Competition

Tournaments

Knockout brackets run on the same ranked pipeline as everything else: a match spawns its own server, the result is recorded rather than reported, and the demo is posted when it finishes. A bracket here is therefore the real thing and not a picture of one, which is why every match links to its own report.

Scheduled

Loading

What is built and what is not

Being straight about which half of this is finished, because a page that implies more than exists is how a league loses people's trust early.

Built and working: the bracket, seeding, per match reports, the spawn-a-server-per-match pipeline, demos, and clan rosters stamped onto the record so a tag typed into a client decides nothing.

Still being built: sign-ups and check-in through Discord, automatic advancement of a winner into the next round, and third place matches. Until those land, a bracket is drawn and advanced by hand, which works fine at the size the first tournament will be.

On the server

What the servers do

Most of this is invisible until it happens to you. None of it needs setting up, none of it is a client mod, and all of it runs on all four public servers.

Combos

Freezes landed close together chain. The chain is announced as it grows, it breaks the moment you go too long without another one, and the longest chain you ever managed is kept forever rather than reset with the season.

Two spikes inside a second is a Double. Both of them coloured is a Double King. Five in a chain is a Penta. Past that the announcements get less modest.

The Void Announcer

When something worth seeing happens, the server writes it in laser above the player it happened to, for three seconds, centred over their head. Everybody in the round sees the same text in the same place, so a combo is a thing that visibly happens to somebody rather than a line that scrolls past in chat.

Votes you can type

The vote menu still works. These are the same votes, without opening it:

/restartCall a vote to restart the round.
/shuffleCall a vote to shuffle the teams at random.
/balanceCall a vote to split the teams evenly by rating.
/top5The top five of this round, in chat.
/linkClaim your name with a code from Discord.

Every one of these calls a vote. None of them runs one. A command that skipped the vote would be a way around every cooldown, and the cooldowns exist because a server somebody can restart at will is not a server anybody can play on.

Teams that make sense

The balance vote does not move whoever is nearest. It reads everybody's rating and looks for the split with the smallest gap between the two sides, so the teams are as close to even as the people in the room allow.

Automatic balancing is on the Ladder only. The locked format servers have fixed sides and nothing should be moving anybody in the middle of a 3v3.

Eighty-nine of them

Achievements

None of these can be handed out, and that is the whole point of them. Season achievements reset every quarter. Career ones never do, and are summed across every name your account has ever used, so changing your name does not cost you a decade of play.

Loading
The levels

Maps

Drawn from the map files themselves, by the same code that draws the movement on a match report, so what is below is the collision layer the server actually scores on and not a screenshot of it. Rock is dark, the spikes are in the colours they pay out in.

In rotation

Loading

In the pool

Installed and playable, not currently on any public server.

Void Doubloons

Put a price on
somebody’s head

Void Doubloons are what the league pays you for playing well. A bounty is the loudest thing you can spend them on. The whole server hears about it, and for the next few minutes everybody on it is looking at one person.

/bounty <player> <doubloons> in game, on any of the four public servers

What a doubloon is worth

Doubloons cannot be bought and never will be. They are earned in game, they carry across seasons, and a season ending changes what you are ranked, not what you own.

Loading

How a hunt runs

Four things happen, in this order, every time.

    The void takes its cut

    The cut is burned, not paid to anybody. Nobody at the league takes a share and there is nowhere for it to go: it leaves the economy the moment a bounty is placed. That burn is the only thing standing between a currency and an evening where everybody has ten thousand of them and none of it means anything.

    What the rules refuse

    Every way of collecting a bounty you had already collected is closed at the placing end, so nothing has to be caught afterwards.

    Running now

    Loading

    Settled

    Deepest pockets

    Balances, not earnings. Somebody who spends theirs the moment they have them is playing this the way it was meant to be played and will never appear here.

    The Void Market

    Bounties are the first thing doubloons buy and not the last. The market runs from Discord, so a purchase is tied to an account rather than to a name anybody can type: /shop to browse, /buy to spend, /balance to see what you are holding.

    Nothing here will ever affect how anybody plays. A title is a title and a colour is a colour, and if it would move a rating it will not be for sale. Prices are the same ones the bot charges, read from the same file.

    Loading
    Removed from the league

    Banished

    The players the league has removed and named. A ban takes somebody off the ladder, not out of the history, so the record below is the one they actually put up and it stays where anybody can read it.

    Only cases somebody has watched and confirmed are named here. A ban made on the detector alone is still a ban and still permanent, and it is not put on this page: being reasonably sure is enough to remove somebody and not enough to name them. Addresses are never published, and neither is the working behind a decision. If you think this is wrong, the Discord link in the sidebar is where to say so, and the ban message in game says the same.

    Loading
    Preseason

    Season 1 opens 1 October

    Seasons are calendar quarters, three months each, taken from the clock rather than stored anywhere. There is no rollover job to miss and no half migrated table on the first of January. What that means in practice is below.

    Loading

    The calendar

    A season is whichever calendar quarter the clock is in. Nothing switches it over, so nothing can fail to switch it over.

    What happens on 1 October

    Nothing is deleted. A season ending changes which rows are read, not which rows exist, so any past season can still be shown or replayed.

    Preseason so far

    Loading

    What a season is worth

    First

    Season Champion

    The role, in gold, for the whole of the next season Your name kept on this site permanently, long after the ladder resets First seed in the next tournament
    Second

    Runner up

    The role for the next season A permanent line in the record
    Third

    Third

    The role for the next season

    Season 1 adds ranked cups with cash prizes, and the amounts will be posted here before the first one is played, not decided afterwards. The rest of what you get is the part money cannot buy anyway: a permanent record, a name people recognise, and something on your profile that has to be earned again every season.

    What the league records

    Privacy

    This page is the whole of it. The league runs on one server, keeps what it needs to run a ladder and enforce a ban, and hands none of it to anybody. If something below is not what you expected, the Discord is where to say so.

    The short version

    No cookies. No analytics. No advertising. No tracking of any kind, and no request from this page goes anywhere except this server: the fonts, the artwork and the code are all served from here, so nothing about your visit reaches a third party. What we do keep is the record of what you played, your address for as long as a ban needs it, and your Discord account if you chose to link one.

    What is recorded, and why

    Your player name. Every name that has connected to one of the four servers. It is the key everything else hangs on, and it is public: that is what a ladder is.

    What you did in a round. Freezes, spike kills, deaths, shots, wallshots, sprees, playtime, and the result of every round and match. Public, and the point of the whole thing.

    Your IP address, stored against the names it has played under. One reason: a ban has to survive a name change. It is never published. The Banished page names people and never addresses, and no address is ever shown to another player.

    Your Discord account id, only if you linked one with /link. That is what turns a name anybody could type into an account.

    Anti-cheat measurements. Summaries of aim and input timing, and any flag those raised. They exist to catch cheating and are used for nothing else.

    The web server access log: address, time, page and browser string, the same line every web server on the internet writes. It is not joined to your player name and it is not read unless something is being attacked or is broken.

    How long each of those is kept

    The access log is deleted after seven days. Addresses attached to a player name are deleted after twelve months, automatically, every week. Join and leave events go after six months. Anti-cheat measurements are kept for the season they were taken in.

    Everything else, the stats and the results, is the league's record of public play and is kept. A season ending changes which rows are read, not which rows exist.

    Where it lives

    One machine in Falkenstein, Germany, rented from Hetzner. Backups sit on the same machine. Nothing is copied to a cloud service, an analytics provider or anybody else, and nothing is sold, ever.

    Asking for your data, or its removal

    Ask in the Discord and you can have what is held about you, have it corrected, or have it deleted. Your addresses, your Discord link and your anti-cheat record can all go, and they go quickly.

    Round and match results are the one thing that cannot simply be deleted, and it is worth being straight about why. A round is a record of six people, not one. Pulling your numbers out of it rewrites everybody else's freezes, ratings and achievements along with yours. So on request your name is replaced with a placeholder instead: the result survives, and you are not in it. A ban record also stays, because a ban that can be deleted on request is a ban that lasts until somebody asks.

    If you are under sixteen

    A parent or guardian can ask for anything on this page on your behalf, and does not need to explain why.

    Who is responsible

    Void League, run by one person from Romania on a server in Germany, which means the GDPR applies and the rights above are yours by law rather than by our good manners. The Discord server is the way to reach us, and it is linked from the menu and from the bottom of every page here.

    The deal

    Terms

    Short, because the league is free and most of this is common sense written down so that a ban is never a surprise.

    What this is

    Four public Teeworlds servers, a Discord bot and this website, run as a hobby and free to play. There is no uptime promise, no promise that a rating survives a bug, and no promise that any of it is still here next year. Use it as what it is.

    One person, one account

    A second name to dodge a ban and a second name to farm your own rating are the same offence, and both are treated as one. Sharing an account is on you: what it does, you did.

    How to behave

    No cheating, in any form, including a client that plays part of the game for you. No harassment, slurs, threats or sexual content aimed at anybody. No spamming the chat and no advertising other servers in it. No attacking the servers, the bot or this site, and no attempt to get at data that is not yours.

    The chat filter and the strike ladder handle most of this without anybody watching. An admin can go further, faster, and will.

    Cheating, bans and appeals

    Detection is automatic, the decision is not: a flag is reviewed before it becomes a ban. Bans are permanent by default. Being reasonably sure is enough to remove somebody from the league; naming them on the Banished page takes more than that, which is why not every ban appears there.

    Appeals go to the Discord. A ban is reversed when the evidence turns out to be wrong, not because enough time has passed.

    Names, tags and anything else you write

    Your name, your clan tag and anything you put on your profile stay yours. Putting them here is permission to display them here and nothing more. Anything illegal, anything impersonating another player or an admin, and anything chosen to get around the name filter, is removed without discussion.

    Doubloons and prizes

    Void Doubloons are numbers in a database. They cannot be bought, they are not money, they cannot be cashed out, and their balance carries across seasons only because we choose to carry it.

    Season 1 adds cups with cash prizes. The amount and who is eligible are posted before each cup is played, not decided afterwards. The league decides how a prize is paid and can withhold or reclaim one from anybody found to have cheated, before or after it was handed over. Any tax on winnings is the winner's own business.

    Your data

    Covered in full on the privacy page, including how to get it removed.

    Changes, and which law

    These change as the league does, and every change is posted in the Discord changelog rather than quietly edited in. The operator is in Romania, so Romanian law and the GDPR are what apply.