Grief tracking: Bare ground reports item removal
Moderator: ickputzdirwech
Grief tracking: Bare ground reports item removal
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.
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.
Re: Grief tracking: Bare ground reports item removal
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.
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.
Re: Grief tracking: Bare ground reports item removal
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....
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...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Grief tracking: Bare ground reports item removal
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.
Also it only needs to track the most recent removal, not a full history of all activity for every tile.
Re: Grief tracking: Bare ground reports item removal
Combinators made x=x+1 on every tick, but there's no stack overflow.
Re: Grief tracking: Bare ground reports item removal
@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...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Grief tracking: Bare ground reports item removal
We have a replay in the game. It means, all doings are written in the save file. Why it can be problem?ssilk wrote:@Plawerth: I'm sorry, I read "any change leaves behind a report" but you mean only the last change.
Re: Grief tracking: Bare ground reports item removal
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.
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...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Grief tracking: Bare ground reports item removal
You have to be able to think like the enemy to predict the enemy.ssilk wrote:PS: I think deep in my heart I'm a griefer.
Re: Grief tracking: Bare ground reports item removal
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.
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.
Re: Grief tracking: Bare ground reports item removal
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.
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.
Re: Grief tracking: Bare ground reports item removal
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.
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.
Re: Grief tracking: Bare ground reports item removal
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.
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.
Re: Grief tracking: Bare ground reports item removal
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
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
Re: Grief tracking: Bare ground reports item removal
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.
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.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.
That is ridiculous small and for many constructions unuseable. A bigger train station needs by minimum -hmmm- 50x25, better 100x50.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.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Grief tracking: Bare ground reports item removal
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.
or chests / belts /items become immortal to other player actions.
Re: Grief tracking: Bare ground reports item removal
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.
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...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Grief tracking: Bare ground reports item removal
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.
Re: Grief tracking: Bare ground reports item removal
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.
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...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...