Page 1 of 1

Global blacklist

Posted: Sat Nov 05, 2016 12:35 pm
by Req
When starting a server, add option to sync with a global blacklist. Also an option to autokick anyone with x nr of serverbans in the global list.

Re: Global blacklist

Posted: Mon Nov 28, 2016 7:39 pm
by JuicyJuuce
This would be very useful, especially the ability to autokick anyone with X number of server bans on the matching service.

Re: Global blacklist

Posted: Mon Nov 28, 2016 10:47 pm
by ssilk
Added to viewtopic.php?f=80&t=32968 Collection of Of Ideas around Multiplayer: Lobby-Features, Joining, Mod&Game-Loading, ...

Re: Global blacklist

Posted: Tue Nov 29, 2016 10:52 am
by Deadly-Bagel
This should be pretty easy from a mod perspective, report everything to a file which an external application can synchronise with an online server. In practice it requires an online server with pretty good defence as these things tend to be a big target for DDoS attacks and such, and the mod, also the application and web service would need to be tightly written to prevent abuse. It would almost need to be a paid service (at least to cover hosting costs).

This sort of thing is better built into the client. Your Factorio account would hold a reputation of you, server settings configure who is allowed to join and mods can restrict players with poor reputation from performing certain actions, and also provide tools for undoing or flagging griefed entities.

Re: Global blacklist

Posted: Tue Nov 29, 2016 10:55 am
by Zeblote
All of these black list ideas fail for the same reason - how do you prevent false reports?

Re: Global blacklist

Posted: Tue Nov 29, 2016 10:59 am
by keyboardhack
JuicyJuuce wrote:This would be very useful, especially the ability to autokick anyone with X number of server bans on the matching service.
Deadly-Bagel wrote:This should be pretty easy from a mod perspective, report everything to a file which an external application can synchronise with an online server. In practice it requires an online server with pretty good defence as these things tend to be a big target for DDoS attacks and such, and the mod, also the application and web service would need to be tightly written to prevent abuse. It would almost need to be a paid service (at least to cover hosting costs).

This sort of thing is better built into the client. Your Factorio account would hold a reputation of you, server settings configure who is allowed to join and mods can restrict players with poor reputation from performing certain actions, and also provide tools for undoing or flagging griefed entities.

What prevents a me from buying the game 10 times, create 10 servers and then ban all the players i don't like? It seems like that would get the players banned with either system even if the player didn't do anything.

Even this viewtopic.php?f=53&t=29937 is flawed as you can easily frame an innocent player of griefing.

Edit: Seems like Zeblote beat me to it.

Re: Global blacklist

Posted: Tue Nov 29, 2016 10:29 pm
by ssilk
THIS is of course the primary fail of blacklists in general. The only working concept are whitelist (or eventually greylists). But they are more difficult to maintain.

And the primary fail of such lists in general is, that there is either an information monopol on such lists or an abuse.

I had another idea:

It doesn't matter: Restoring is super simple

I think this is the best way to to reduce impact of griefing (and so some of the "fun" a griefer gets) :
a) You can restore to any point in the game (a save plus the replay from that save)
b) The restore is FAST. It takes just half a minute or so.
c) You can find out who has done it. And you can output a validated proof "video" (replay) from that.

To achieve that, we need a replay mode, that can "jump" for- and backward. It should also list "player events" (building, deconstruction, connect, disconnect...) and their about locations in some kind of timeline.
It should then also be possible to search for such event in time, position and action.

Anything else (blacklist) can then be added afterwards.

Re: Global blacklist

Posted: Wed Nov 30, 2016 2:13 am
by BenSeidel
GBLs can be abused in many ways, but the real issue is that grieving is someone's personal opinion.

What is "griefing"?. Is telling someone that their design sucks griefing? Mass deconstructing an area to build a new setup, but locking down all the bots for 40 minutes griefing? Some actions may be considered griefing in a MP game but is normal practise in a single player game. Hogging all the blue circuits? etc.

For a GBL to work there would need to be a set of rules that must be adhered to. But then do admins or friends of the person who has the server bound to those rules? I regularly run over and get run over by friends because we are ****s to each other.

Maybe instead of a GBL store a person's BL against their login and allow people to "link" to other peoples personal BL. That way you could link your BL to your friends (they seem trustworthy right?) or maybe your favourite streamer/youtuber who does multiplayer games and has video evidence of why their BL is the way it is. You could develop a network of people who have a similar idea as to what is griefing and what is not.

More thoughts on things that may be griefing: Inexperience, destroying biter bases, cutting down trees.

Re: Global blacklist

Posted: Wed Nov 30, 2016 3:09 pm
by Deadly-Bagel
keyboardhack wrote:What prevents a me from buying the game 10 times, create 10 servers and then ban all the players i don't like? It seems like that would get the players banned with either system even if the player didn't do anything.

Even this viewtopic.php?f=53&t=29937 is flawed as you can easily frame an innocent player of griefing.
Like I said it would need to be heavily guarded against this sort of attack. To be honest I don't think most people would spend that much time, money and effort just to stir up trouble and manual intervention would easily resolve it. But aside from performing further checks on the reporters (IP / region lookups, other server statistics, etc) there are various things that could be done. Have the exe launch the server and perform a check on the mod to ensure it hasn't been tampered with, then encrypt the reports to the server and obfuscate the exe to prevent decompiling, lastly put checks in the mod to prevent errant reporting. Can upload additional stats to the server to compare to the report and also increase the difficulty of cracking the encryption.

But like I said this is all very complex and obfuscating technology is not free.
BenSeidel wrote:GBLs can be abused in many ways, but the real issue is that grieving is someone's personal opinion.

What is "griefing"?. Is telling someone that their design sucks griefing? Mass deconstructing an area to build a new setup, but locking down all the bots for 40 minutes griefing? Some actions may be considered griefing in a MP game but is normal practise in a single player game. Hogging all the blue circuits? etc.

For a GBL to work there would need to be a set of rules that must be adhered to. But then do admins or friends of the person who has the server bound to those rules? I regularly run over and get run over by friends because we are ****s to each other.

Maybe instead of a GBL store a person's BL against their login and allow people to "link" to other peoples personal BL. That way you could link your BL to your friends (they seem trustworthy right?) or maybe your favourite streamer/youtuber who does multiplayer games and has video evidence of why their BL is the way it is. You could develop a network of people who have a similar idea as to what is griefing and what is not.

More thoughts on things that may be griefing: Inexperience, destroying biter bases, cutting down trees.
Okay, this is just... Sure there are people who get uptight when players connect and instead of expanding, they redesign. Change junctions to loops and the like. This is controversial and IMO depends on the server admin. You could avoid this by having server rules (and make them accessible) and have a 'soft blacklist' for stubborn players who just have problems with authority. But this isn't griefing.

Examples of griefing:
  • Logging on to a server and marking the entire base for deconstruction.
  • Rotating belts in tricky places where it is not easily noticed but halts production
  • Changing trains to go to the wrong stations
  • Changing circuit networks to prevent them from working as intended
  • Putting hundreds of useless ghosts everywhere
  • Basically anything done maliciously
There is no grey area here, this is all done purely with the intent of screwing with people, and is thus griefing.

I also disagree with the idea that "it's not a problem because it's easy to roll back". I read an example where someone had jumbled up train schedules and they didn't notice until their buffers ran out after some time, and even discounting this sort of thing it shouldn't be necessary in the first place. I don't want to have to roll back 15 minutes because some reeking stain screwed up my factory, why should I allow a unthinking bag of slime to waste any of my time? I have precious little of it to wind down at the end of the day and I don't need winding up instead.

As I said probably the best way of implementing this is not a blacklist but a reputation, and allow server admins to configure (probably through mods) what sort of players are not allowed to connect. Perhaps also have 'Anarchy' games where no feedback is reported so you and your friends can do whatever in your own servers, and friends lists where killing each other in other servers is not reported either (and is made clear to other players).

Of course all of this is only applicable to public servers so if you're playing privately it's not a problem.

Re: Global blacklist

Posted: Thu Dec 01, 2016 12:40 am
by Zeblote
Another simple way to minimize damage would be to create a trust system for players - you're free to walk anywhere and look at stuff but you can't change anything without permission.
Could have several tiers to control what a player can do if they're new to your server.

Re: Global blacklist

Posted: Thu Dec 01, 2016 12:35 pm
by ssilk
I think that's an interesting idea. With such a system you can control, how a game should be played, what are the "rules".

And most of that system could be implemented as mod.

Re: Global blacklist

Posted: Sat Dec 04, 2021 9:23 am
by ickputzdirwech
[ick] Moved to implemented. See 100027.
FactorioBot wrote:
Wed Sep 22, 2021 12:22 pm
Added auth server bans feature for multiplayer games. When enabled this will inform the Factorio.com authentication server of ban and unban commands issued in multiplayer sessions. Designed to combat griefers in multiplayer games, it will also query the authentication server for a ban recommendation when a user tries to connect.