Grief tracking: Bare ground reports item removal

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
Plawerth
Fast Inserter
Fast Inserter
Posts: 116
Joined: Thu Mar 02, 2017 12:57 am
Contact:

Grief tracking: Bare ground reports item removal

Post by Plawerth »

Currently there is a very annoying problem with Factorio where only placed objects will say who placed them. Bare ground where something has been removed reports no status information.

The game should be changed so that anything that has been removed will leave behind a report when pointing at the bare ground with the cursor, of what was there last, and who removed it. This way griefers cannot remove belts and objects and escape detection.

This reporting should work whether removal was done directly by hand or indirectly via robot deconstruction.

User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2903
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by darkfrei »

It's my mod.
https://mods.factorio.com/mods/darkfrei/Build-Statistic

You get a message when somebody deconstruct your entities or marked to deconstruction it.

On some events saved statistics to the file.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by ssilk »

That is a cool method to bring the server completely down.

How?

Built entity, destruct it.

Make that as a blueprint. Solar panels for example.

Built blueprint, destruct it.
Built blueprint, destruct it.
Built blueprint, destruct it.
Built blueprint, destruct it.
...
Built blueprint, destr... server out of memory? Nice....
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Plawerth
Fast Inserter
Fast Inserter
Posts: 116
Joined: Thu Mar 02, 2017 12:57 am
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by Plawerth »

I do not understand what you mean. The world already stores data for every tile, whether it is grass, water, etc.

Also it only needs to track the most recent removal, not a full history of all activity for every tile.

User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2903
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by darkfrei »

Combinators made x=x+1 on every tick, but there's no stack overflow.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by ssilk »

@Plawerth: I'm sorry, I read "any change leaves behind a report" but you mean only the last change. :)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2903
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by darkfrei »

ssilk wrote:@Plawerth: I'm sorry, I read "any change leaves behind a report" but you mean only the last change. :)
We have a replay in the game. It means, all doings are written in the save file. Why it can be problem?

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by ssilk »

Technically spoken: if you store any change, then any change takes memory-space. That space is a limited resource and that is the vector of this attack.
You can make a gigantic blueprint, like with ten million entities or so (like only inserters with complex rules set, add ground tiles), and if you place that blueprint and afterwards remove it and place it etc. every entity is a change that takes memory-space, even if that are just ghosts in that moment.

So if you do that several of times you produce some hundred megabytes of changes. If you do that many hundreds of time you can exceed the disk space.

All just quite theoretical thoughts!! Would be interesting to see, if such an attack could really work. :)

PS: I think deep in my heart I'm a griefer. :)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

dewiniaid
Long Handed Inserter
Long Handed Inserter
Posts: 96
Joined: Tue Mar 07, 2017 8:50 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by dewiniaid »

ssilk wrote:PS: I think deep in my heart I'm a griefer. :)
You have to be able to think like the enemy to predict the enemy.

Plawerth
Fast Inserter
Fast Inserter
Posts: 116
Joined: Thu Mar 02, 2017 12:57 am
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by Plawerth »

Eh, tile data for deleted objects does not even need to be part of the active map data held in memory.

I run Minecraft servers with CoreProtect enabled. We log EVERY world block change, add or remove, for MONTHS. Doesn't affect Minecraft operation at all.

All block logging data goes to an external SQLite or MySQL database outside Minecraft. On some servers we have a block log that is 5-10 gigabytes in size. No problem.

In factorio this could simply be handled as:
- When any object removed, send history data to external database

Querying:
- Any client clicks on an empty tile to select it
- When clicked, server makes a query to external database: Is there any last-change history for this tile?
- database responds.
- Send to client.

Plawerth
Fast Inserter
Fast Inserter
Posts: 116
Joined: Thu Mar 02, 2017 12:57 am
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by Plawerth »

I suppose someone could try writing a very simple mod for this, and see how it goes, if memory is a problem storing it directly in the game.

Looking at the entity tree....
https://wiki.factorio.com/Modding

Add a new branch under "EntityWithOwner" called DeletedObject, which does nothing.
Make a tile image for it with a single yellow dot placed in center of deleted tile.
Mod deletion so removing EntityWithOwner objects of any other type places a DeletedObject.
Mod deletion so DeletedObject objects can not be themselves deleted.
Replacing them with any other EntityWithOwner object works normally.

Optional:
Add tracking queue of DeletedObjects with a countdown timer for each one.
After X seconds, DeletedObject removes itself, replacing with normal empty ground.
As DeletedObject ages, use additional tile images with the marker dot color gradually darkening to black before it is removed.
Make countdown time longer than the autosave time interval, and each autosaved map will directly show recent object deletions.

vtx
Fast Inserter
Fast Inserter
Posts: 150
Joined: Tue Jun 28, 2016 9:48 am
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by vtx »

With factorio this can take gigantic size fast. Let assume each line in database take only 20 bytes and we blueprint a 1000x1000 tiles.

With only one click I'll write 1 000 000 lines that take 20 MB.

I'll just have to delete the same blueprint I just created to double that amount in less than 1min. Repeat that 125 times and you have 5GB.

Plawerth
Fast Inserter
Fast Inserter
Posts: 116
Joined: Thu Mar 02, 2017 12:57 am
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by Plawerth »

Unplaced ghosted objects created by a blueprint but not actually deployed by the bots do not need tracking. They never really existed so removing them doesn't have the same effect as removing a belt or power line in a running system.

Just need to retain any deleted object data "underneath" a ghost unplaced object until it is finally placed by bots.

Also, rereading that... you mean create a single blueprint with 1000x1000 tiles? Is this even possible, and really on a multiplayer server there is no reason to allow such a ridiculous thing. Server owner should be able to cap blueprint size to prevent exactly the abuse you describe, say 15x15 max.

If you are doing single player, I hope you realize that the tracking described here is unnecessary and only needs to be active for 2+ users.

noliVe
Filter Inserter
Filter Inserter
Posts: 327
Joined: Tue May 24, 2016 7:46 am
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by noliVe »

what i dont like is when people try doing great stuff and others just tell him to stop doing it because it is not good enough...
WHY you people do that? try make the system better think of a way to make this working! dont argue about why its not working.....

its a good start doing it ! focus on optimising what details need to be logged...

decider > item placed => time passed > change owner? > time passed? logging event if time >= 1 min
althoug deciding possibilitys
decider > ADMIN !> dont log
decider > Friend/group list > dont log
decider > user is x-seconds in the game > CAREFULL Logging all his actions

what need to be logged:
-change ownership
-destruction and planner
-Construktionplanner
-burning / armory
..... [ HELP WITH More IDEAS ] ....

could be a good start to prevent fastblueprint spawn




STOP Argumenting AGAINS a good idea! Work on a better sollution and give examples to make it working!!!!
======================================================================================================================

i althoug had this topic please help creating ideas viewtopic.php?f=6&t=42843

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by ssilk »

Actually I like the idea to write all changes to a database. With optimized indexes it could be really fast to get the changes over time (tick) and space (X, Y) of an area.
Plawerth wrote:Unplaced ghosted objects created by a blueprint but not actually deployed by the bots do not need tracking. They never really existed so removing them doesn't have the same effect as removing a belt or power line in a running system.
Nice attack vector: As griefer I remove all ghosted stuff, cause it is not logged. I take out just some pole or so and so it doesn't get power. :twisted:
Also, rereading that... you mean create a single blueprint with 1000x1000 tiles? Is this even possible, and really on a multiplayer server there is no reason to allow such a ridiculous thing. Server owner should be able to cap blueprint size to prevent exactly the abuse you describe, say 15x15 max.
That is ridiculous small and for many constructions unuseable. :) A bigger train station needs by minimum -hmmm- 50x25, better 100x50.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

noliVe
Filter Inserter
Filter Inserter
Posts: 327
Joined: Tue May 24, 2016 7:46 am
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by noliVe »

what about save zones... map position 1600x 2000y is protected to be changed by other players. what is needed for that?
or chests / belts /items become immortal to other player actions.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by ssilk »

Think how that is in real life: that is nothing else than an entry into the catastre/land register.
And in real life it works astonishing well: so many registered grounds, so many people and compared to that so less thieves (griefers).

Such a registration is also an interesting game element. I think so: if the resources would be much more spreaded then yet (not every 1000 tiles a big field of each resource) but if you find a resource field it would be much, much bigger, then it enhances the exploration character of the game a lot. And the player is rewarded.

And a third aspect: the game can spare a lot of space on disk, if it knows, that a chunk is unclaimed. Cause it knows: there is no (or not much) changes on that chunk. So instead of saving the whole chunk with its 1024 tiles it say "here is the original chunk from world generator minus some trees".

Thinking into that direction a fourth point comes to my mind: if a player doesn't come back to his claimed land his buildings will rotten more and more until there is the original state. And in the same moment his claim is deleted. After one or two weeks (or whatever) everything a player has built on his land is removed.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

User avatar
Brathahn
Fast Inserter
Fast Inserter
Posts: 108
Joined: Sat Aug 02, 2014 1:50 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by Brathahn »

How about placing an invisible entity on the ground when removing structures that will act as any other entity build (belts, chests,inserters)? So when you hover your mouse over it, it will show the name of the person who removed it. it should behave like decoratives, so you can build stuff over it without any problems. No massive data logging required.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Grief tracking: Bare ground reports item removal

Post by ssilk »

That is a very good idea, but I think that is implementation detail. :)
We as community should just define, what we need to play fine.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Post Reply

Return to “Ideas and Suggestions”