Verified
Ban the connection, not just the account.
Checkpoint bans by account or by connection so a new account will not get them back in, shows you where a player really is, and gates travel during a raid.
You ban somebody and they are back in ten minutes on a fresh account. That is the whole reason I built Checkpoint. It bans the account like anything else does, and it also bans one address, a whole range, an internet company or a country, and it turns that connection away before the player ever finishes loading. Add a geo key and you can see the country, the town and whether somebody is hiding behind a VPN, which turns a hunch into something you can read out loud to your staff. It also carries player travel, because the same plugin already knows when a raid is happening and can shut the warps for the length of it.
config.json and every line I show a player or print in the console comes from a plain text file you can rewrite, translate, or pass to another owner.| Command | What It Does | Where |
|---|---|---|
Checkpoint.Reload |
Read the config again without a restart. | Both |
Checkpoint.Who <player> [--json] |
Everything I know about one player: names, ids, addresses, where they look to be, linked accounts, bans and mutes. | Both |
Checkpoint.Ban <kind> <key> <length> <reason> |
Ban an account, an address, a range, an AS number or a country. Length takes 30m, 7d or forever. | Both |
Checkpoint.Unban <id> |
Lift a ban by its id, or by kind and key. | Both |
Checkpoint.Bans [--active] [--json] |
List the bans with how many joins each one has turned away. | Both |
Checkpoint.Alts <player> [--json] |
Accounts that share a connection with this one, with the evidence and how sure I am. | Both |
Checkpoint.Logins <player> [--json] |
The last logins I have for one player. | Both |
Checkpoint.Where [days] [--json] |
Which countries and time zones your players are actually joining from. | Both |
Checkpoint.Mute <player> [length] [kind] [reason] |
Mute somebody. Leave the length out and the ladder picks it. | Both |
Checkpoint.Unmute <player> |
Let them talk again. | Both |
Checkpoint.Kick <player> [reason] |
Put somebody out now. | Both |
Checkpoint.Geo <address or player> |
Look one address up on purpose. | Both |
Checkpoint.GeoBackfill [--confirm] |
Fill in the addresses I have never looked up, so the country report works on day one. | Both |
Checkpoint.Forget <player> [--confirm] |
Erase every address and lookup I hold for one player. | Both |
Checkpoint.Open [minutes] |
Switch every ban check off for a while. This is your way back in if you ban yourself. | Both |
Checkpoint.Travel <player> [--json] |
Their travel cooldown, how many trips today, and any hold on them. | Both |
Checkpoint.ClearCooldown <player> |
Let one player travel again right now. | Both |
Checkpoint.Doctor [--json] |
What is on, what is off, which door I catch a joining player at, and anything the game has moved. Paste this when you ask for help. | Both |
Checkpoint.Journal |
Where to read the record of every change I have made. | Both |
Checkpoint.TestDiscord |
Send one test post to each Discord channel. | Both |
Every command word lives in config.json, so rename any of them or empty one out to switch it off.
| Command | What It Does |
|---|---|
/tpr <player> |
Ask to travel to somebody. |
/tph <player> |
Ask somebody to come to you. |
/tpa [player] |
Say yes. Name one or use a number when several are waiting. |
/tpd [player] |
Say no. Add all to clear the lot. |
/tpc |
Drop the ask you sent. |
/tpl |
See who is waiting on you, numbered. |
/tpinfo |
Your cooldown, your trips today, and why the last one was refused. |
/banned |
A player checks their own state. Am I banned, am I muted, when does it end. |
| `/ck <who | ban |
| Node | What It Unlocks |
|---|---|
Checkpoint.Travel |
Lets a player use travel at all. |
Checkpoint.Vip |
Gives that group a shorter travel cooldown. |
Checkpoint.Who |
Look a player up from chat. |
Checkpoint.Ban |
Place and lift bans from chat. |
Checkpoint.Mute |
Mute and unmute from chat. |
Checkpoint.Kick |
Put a player out from chat. |
Checkpoint.Alts |
See which accounts share a connection. |
Checkpoint.SeeIp |
Read a whole address anywhere. Give this one out carefully. |
Checkpoint.Immune |
Nothing can ever ban anybody holding this. Put your staff group here. |
Travel fails open, so with no Permissions plugin installed every player can still travel on the normal cooldown. The staff nodes fail closed, so with no Permissions the chat commands say no to everybody and you work from the console or RCON, which is where the full set lives anyway.
To see every configuration option, visit our docs. To edit your config files the easy way, open our configuration editor.
Checkpoint folder into ArkApi/Plugins/. Keep the folder named Checkpoint, because AsaApi wants the folder to carry the same name as the DLL inside it.Checkpoint/config.json and put your own EOS id in SafeList.Eos. Do this before you ban anything, so you cannot lock yourself out.AsaApiLoader.exe.Checkpoint.Doctor from RCON. It tells you the records opened, which door it catches a joining player at, and whether anything is switched off.Screen alone for a week, then read Checkpoint.Where and decide what your traffic actually looks like before you start blocking.Stuck on something, or want a second opinion before you ban a whole range? Come and find me in the Discord and I will help: https://discord.gg/8GGaEzWk9p
What does Checkpoint do?
Checkpoint is a ban and mute plugin that also carries player travel. It bans the account the way anything else does, and it can also ban one address, a whole range, an internet company or a country, so a fresh account on the same connection does not get somebody back in. It reads geo data when you give it a key, and it shuts travel while a raid is happening.
How do I install Checkpoint?
Put the Checkpoint folder from the zip into your ArkApi/Plugins/ folder, open config.json and add your own EOS id to SafeList.Eos, then restart the server. Run Checkpoint.Doctor afterwards and Checkpoint will tell you what came up and what did not.
Can it really stop somebody making a new account?
A new account on the same connection, yes, and that is the point. Checkpoint keeps the address a player joined from and can ban that instead of, or as well as, the account. Understand what it costs though. Two brothers on one router are one address, so the refusal says this address is banned rather than you are banned, and anything wider than a small range asks you to confirm and first tells you how many of your own past logins it would have turned away.
Does it work without a geo API key?
Yes. Bans on an account, an address or a range all work with nothing signed up for, and so do mutes, kicks and the whole travel side. A key only adds the country, the town, the internet company and the VPN flags, which is what turns on country bans and the report on where your players actually live. Checkpoint can also read a free service that needs no key at all, so you can try it before you sign up for anything.
Where do I see a player address?
Run Checkpoint.Who with their name from the console or RCON and Checkpoint prints their names, their ids, the address they came in on, where that looks to be, and any accounts that share the connection. Checkpoint.Logins shows their recent joins. A whole address only ever goes to somebody holding the Checkpoint.SeeIp node, and a public Discord post shows the last part starred out.
What if I ban myself by mistake?
Run Checkpoint.Open from RCON. RCON does not go through the gate, so it always answers, and it switches every ban check off for ten minutes while you sort it out. Better still, put your EOS id in SafeList.Eos on day one and nothing can ever refuse you. Checkpoint nags you in the log until you do.
Can players use travel to escape a fight or pile into a raid?
No, and stopping that is why the travel half exists. Travel locks for a while after either player takes or deals damage, and it shuts for a whole tribe while their base is being hit or while they are doing the hitting. Checkpoint also keeps a cooldown for each player and a second one for each pair, so two friends cannot shuttle each other across the map.
Does it keep player addresses forever?
No, and you control it. Checkpoint deletes login records after ninety days by default, and that is a real delete on a timer, not a flag. One setting stores addresses as a scrambled value instead of the digits, and everything still works in that mode because a scrambled value compares against a scrambled value. Checkpoint.Forget wipes one player on request and writes a note that it happened.
I already run a teleport plugin. Will they fight?
No. Checkpoint looks for the other plugin when the server starts, and if it finds one it leaves travel alone and just does bans and mutes, then says so in the log. Same for a mute plugin. You never end up with two plugins arguing over the same chat command, and you can turn either half off in config.json yourself.
Was any AI content used in the making of this?
The source code itself was fully created by myself. I do use ChatGPT occasionally to generate product images, and I do use ChatGPT to generate the website descriptions. I do this because I don't speak native English perfectly. I am natively from Sweden, so I use GPT to help translate and write product descriptions. I also will sometimes use GPT to write better English logs. Majority of my Free plugins are open source, so you can review the code yourself and freely fork and edit it to your liking.
Sign in to leave a review
Sign InNo reviews yet
Be the first to share your experience with this resource.
No version history available
The creator hasn't published version updates yet.