Jump to content

Help Setting Up a BanlistUrl and the Pros/Cons for Server Admins


Connor015

Recommended Posts

This post is looking for someone with experience with banlisturls for advice and to assist server admins who run large clusters (13 maps myself) keep players from repeated offenses on other maps. I have yet to successfully set one up, primarily because I am not sure what service I should use to hose a .txt file (simple is good, free is even better) because I do not have a deep knowledge of HTML so anything pre-crafted would be great. I have seen articles on this topic that concern me so I am reaching out to hopefully have my questions answered by someone with experience using a BanListUrl. I think this would be a great tool for anyone hosting more than 2 servers so they don't have to worry the same player will come back and mess with other players. (if wc uses it for bans, why shouldn't we?)

Q1: Does your Banlist need to be updated via the URL (does it wipe your in-game banlist)? If a ban is done in game but not via the URL will the in-game ban still remain on the list?
Q2: can more than one list be added? If I wanted to use both the official ark and a custom list could I use a second line in the .ini?
Q3: What service did you use to create your banlist? ($/ease of setup)
Q4: Are you the only admin or did you somehow automate submissions from your admins to the custom ban list?
Q5: has it made the process more convenient or a large hassle?

Thank you for putting time into answering this. It might not work as I would like it to, but I would still find anything you had to offer on the topic to satiate my interest as extremely useful, both to me and the ark community.

Link to comment
Share on other sites

  • Volunteer Moderator
  1. Your "in-game" banlist is just a local file you can find in the ..Binaries/[Linux/Win64]/BanList.txt that you can copy over your web hosted banlist.
  2. I don't think you can add more than one list, however you could always add and regularly update your list with the content of the official banlist: https://arkdedicated.com/banlist.txt
  3. You could theoretically use any text host. For example, you could register on pastebin, create a new paste and use the "raw" link for your banlist and go there to edit it.
  4. You could let your admins ban locally and update your url yourself, or share your pastebin account with them (make sure this is not against their ToS first tho).
Link to comment
Share on other sites

  • 5 months later...

My friend keeps a local ban list, and appends the official ban list from http://arkdedicated.com/banlist.txt every day to create a comprehensive list.
He then copies that to his http server.  The copying and appending is done from a bat file, so it is automated.

If he needs to ban someone immediately, he has to add them to his local list and to the list on his http server, then kick them off the map.
It's not a perfect system because this bit isn't automated, but it works well enough because bans are quite rare.
 

Link to comment
Share on other sites

So, the local list works immediately but needs to be maintained manually by adding the Steam64 then doing a kick? Doing an in-game or rcon ban overwrites the file?

Or, does he have to restart the server after adding someone?

And, his http banlist is on a server that does http, not https? (The place I put mine sends EVERY request to https, even if it's a plain http call). I'm going to move it to a server that still offers plain http and see if that fixes it -- and I'll recreat my local file and remember not to do rcon bans

Thank you

 

Link to comment
Share on other sites

His banlist is on a http server, NOT https.

His "problem" was that he runs 7 maps from the same server installation - so 7 maps use the same ini files, and the same local banlist file.
If he uses the ark console to ban a player from (say) the island, then the other maps didn't seem to read the local banlist file, so the "banned" player could still join one of the other maps - until all the maps were restarted.

However, the banlist on the URL seems to be read immediately.

Link to comment
Share on other sites

Mine is not working at all. Can you ask if he has the BanListURL="http://..." in GameUserSettings.ini in the [ServerSettings] section or if he has it as a command line option?

 

Mine is in the GUS.ini


I now have the local /ShooterGame/Binaries/Linux/BanList.txt and HTTP://myserver.tld/banlist.txt as identical text files in the form of one Steam64 ID per line, just like the official list. One of those is the ID of a test character I keep around. After a full restart My test character can still log in to Island just fine.

 

765611988497xxxxx
765611984464xxxxx
765611982145xxxxx
765611983789xxxxx
765611984517xxxxx
765611988131xxxxx
Link to comment
Share on other sites

Apologies: this one is copied directly from my friend's server...

[ServerSettings]
BanListURL="http://192.168.0.77/banlist.txt"

 

If your webserver is running on the same PC as your Ark server, then use its local IP address.  The banlist URL doesn't have to be out on the internet.
If I put the above into my browser, then I see all the banned steam IDs.  No body else can see that - unless they know my server's external IP address.

 

Link to comment
Share on other sites

This is crazy. I have *not* switched to 127.0.0.1 and restarted yet but I went through the steps to make sure i had my correct Steam64 listed and the correct IP address URL. Then:

  • I killed myself and closed the client and was still able to get back in.
  • I *kicked* my test character and was still able to get back in.
  • Tried logging in on another map in the cluster --- worked fine, no ban.

Here is an image of the output of http://xx.xx.xx.xx/banlist.txt along with my steam client open showing my Steam64 ID in the URL

 

 

Screenshot (79).png

Link to comment
Share on other sites

Do any of the GUS.ini settings work on your server?
Are you editing the correct file? My friend's is at C:\ArkServer\ShooterGame\ShooterGame\Saved\Config\WindowsServer\GameUserSettings.ini
Are you shutting down the server before editing the ini file?  If you edit while the server is running then the server ignores the changes and over-writes the file.

Link to comment
Share on other sites

4 hours ago, PhorceOne said:

ServerAdminPassword works and is also in the [ServerSettings] section.

Yes editing arkserver/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini

Yes, shutting down (wihch is why I haven't switched to 127.0.0.1 yet -- have a few people online)

These things are why this is driving me nuts. :D

 

I see in your ss you are using Linux ARK server right?

If so, ensure the game is checking the right places.

In case you use URL use this command in a separate terminal on the server:

tcpflow -p -c -i lo port 80 | grep -oE '(GET|POST|HEAD) .* HTTP/1.[01]|Host: .*'

(replace lo for eth0 or the rght device in case the ark server and the webserver is not on the same machine)

If you use a file then use this command and periodically check the logf file to locate the path that the game is trying to read:

strace -p $(pgrep Shooter) -e open 2> logf

 

Link to comment
Share on other sites

GET /banlist.txt HTTP/1.1
Host: 127.0.0.1
GET /banlist.txt HTTP/1.1
Host: 127.0.0.1
GET /banlist.txt HTTP/1.1
Host: 127.0.0.1
GET /banlist.txt HTTP/1.1
Host: 127.0.0.1
^Ctcpflow: terminating

There's the output of tcpflow. I have BanListURL="http://127.0.0.1/banlist.txt" in the [ServerSettings] section of my GUS.ini I also tried it as ?BanListURL="http://127.0.0.1/banlist.txt" in the command line and -BanListURL="http://127.0.0.1/banlist.txt" in the command line.

But the above output seems to indicate it IS reading the URL, just not doing anything with the file it receives.

strace is running. Is there a particular event that will trigger a file read? I let the file grow to about 30Meg and there was no instance of "txt" at that point

 

Link to comment
Share on other sites

https://ark.gamepedia.com/Server_Configuration
The command line version you have can be removed, the setting has to be in GUS.ini.

The next thing I'd be checking is the file itself. 
Are there any special (non-displayable) characters between each line in the file?
I would hope that Ark on Linux can handle the difference between Windows and Linux line endings, but you never know.
How long is the file?  I found that Ark couldn't handle a file over a certain size (about 128k).

The big problem here, is that Ark fails silently.  It doesn't give any error message for stuff it doesn't understand ?
 

Link to comment
Share on other sites

Well, I guess the next step is to back up my Saved folder and do a clean install. I removed banlist.txt and recreated it in my htdocs folder. I added one number at a time. There are no stray characters. tcpflow still shows the file getting requested every few second. I can still log in. I got one of my players to be a Guinea pig to make sure it wasn't because i am in the same network as my server --- couldn't block them either.

Now life gets ... interesting.

I ran this

rcon -P"NunYaBiz" -a123.456.789.99 -p37770 BanPlayer 76561198451778586

37770 is my Island map and the player was online. This caused the player to be kicked and /arkserver/ShooterGame/Binaries/Linux/BanList.txt to be created. It contains this (note the Steam Name after the Steam64ID)

76561198451778586,ARK28735

When banning an offline player BanList.txt looks like this

76561198451778586,

but the player is still banned and, adding another banned user via manual ban just adds to the list, it doesn't overwrite the file.

That ID is now banned from Island, but can connect to the other maps.

I ran the rcon command again for Ragnarok and the player is now banned from Island and Ragnarok but can connect to other maps -- the file contents did NOT change after running the command a second time.

If I edit or remove that file I am STILL banned by the http file OR something internal to the map. I have players online so I don't know if the ban will survive a restart. But at the bare minimum it appears you must ban a player through rcon or through the command tab in-game on EACH MAP before they are actually banned. I'll be writing a script to ban players on all maps through rcon if I find the need to ban anyone else.

And I'll have to test to see if I stay banned across a reboot now that I have removed the local file.

I restarted with the BanList.txt file in place and I was still banned on all servers. I then moved the file and restarted -- I was no longer banned. I have moved the file back but am waiting for players to leave before I restart again.

After putting the file back in place and restarting the maps  the ban is in effect again.

So, recap

The http: banfile does NOT wotrk at all, even though the server is reading it once every 5 or 10 seconds

The local BanList.txt works but is ONLY read when the maps first start. It cannot be dynamically modified

A Steam64ID *MUST* be banned with the 'cheat BanPlayer {STEAM64}' command on EVERY map they are to be banned from

So, removing them the local file and restarting the server or 'cheat UnBanPlayer' on all maps is probably the only way to unban.

 

Link to comment
Share on other sites

2 hours ago, Larkfields said:

I'd be up for that if I could PM my steam ID.

:D  I already *know* that the http: list on mine doesn't work. I was suggesting you have your friend test his by adding a steam ID *without* manually banning the person through admin commands to see if they actually get banned. If they don't then appending the whole "official list" is useless and it's his local BanList file that's actually doing the work of keeping "admin command" banned players off of the servers.

Link to comment
Share on other sites

46 minutes ago, PhorceOne said:

:D  I already *know* that the http: list on mine doesn't work. I was suggesting you have your friend test his by adding a steam ID *without* manually banning the person through admin commands to see if they actually get banned. 

He's already done that (adding a steamed to the URL's banlist).  The player wasn't on the server at the time, but couldn't get onto the server.  No reboot was required.
That happened a couple of months back, so I guess it could be tested again.

Link to comment
Share on other sites

22 hours ago, Larkfields said:

He's already done that (adding a steamed to the URL's banlist).  The player wasn't on the server at the time, but couldn't get onto the server.  No reboot was required.
That happened a couple of months back, so I guess it could be tested again.

Is his server set up with multiple maps using a single ShooterGameServer exe and a single set of .ini files or is he running each map as a separate instance?

Mine has everything shared.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...