Timber

persistant mines.....I know... but hear me out....

7 posts in this topic

As a server owner, I realize persistent mines would quickly become a nightmare, but would it be possible to set it up so that mines. anti-personel devices,  etc could be persistent inside of your own territory only? This way, you could place minefields in your own territory for defensive purposes. They would be linked to the territory, so they would be cleaned up if an area were to become abandoned. Then mines could have a role in the game without the grief of random mines all over the server.

  • Like 2

Share this post


Link to post
Share on other sites

It could be made manageable with a "maxMinesPerTerritory" server variable or link the maximum mines with the territory level.  5 mines per base on a server with 100 bases only adds an additional 500 objects to the database.

I actually like the idea of sentry turrets too.  Reminds me of Team Fortress and it might lead to some creative base building to create defensive choke-points and fire lanes.

The problem we are trying to solve is that bases are completely undefended when players are offline.  Even small improvements in passive base defense will go a long way here.

Share this post


Link to post
Share on other sites
Advertisement
On 4/30/2016 at 9:07 AM, DirtySanchez said:

just like my reply in speedweasels thread it won't happen.

 

 the persistent mine idea is great but it won't work imho. mines have to be set by a player in order to be explosive and that requires the player to place it to activate it.... 

plus we tried it during epoch, maybe something is different now from then but..

Look what I found :)  

https://community.bistudio.com/wiki/createMine

Also, DMS places mines around some missions so it seems possible.

Share this post


Link to post
Share on other sites

It MIGHT be possible using a similar method to my Safe Traps. It would require a secondary method of placing the mine. Let's say an addaction that only works within your territory when a mine is equipped. You activate the script which removes the mine from you, then spawns one on the ground in front of you similar to how DMS spawns mines. That's the easy part.

Here's the tricky but very doable part: For persistence, you will need a new table in your database. And a serverside addon to handle sending the data across from client to server to database will also be required. The table will be needed to set the coordinates of each mine. Then you will need something to check the database on server startup and respawn these mines.

The part I'm not so sure about: A way to detect the mine has exploded and remove it from the database without a massive loop shitting on your server.

The problem: If in fact this is doable without hurting server performance, these will no doubt have to be proximity mines. You won't be safe in your own base.

Share this post


Link to post
Share on other sites
1 hour ago, oSoDirty said:

Here's the tricky but very doable part: For persistence, you will need a new table in your database. And a serverside addon to handle sending the data across from client to server to database will also be required. The table will be needed to set the coordinates of each mine. Then you will need something to check the database on server startup and respawn these mines.

The part I'm not so sure about: A way to detect the mine has exploded and remove it from the database without a massive loop shitting on your server.

Mines exist in the context of the terrain. Their location and status is managed by the Arma server (along with all the other objects) and they're unaffected by players logging in and out so we probably don't need to read or write mine locations to the database that frequently. 

It could be as simple as searching for existing mines before a server restart, overwriting all mines in the database and then reading them again on server startup. The 'state' of mines is already managed by the server so the database doesn't need to be accurate except at server reboot time.

If we're worried about losing the state of mines because the server didn't exit properly,  maybe a loop that writes the state of mines to the database and then sleeps for 5 minutes would allow the mines to survive server crashes with an acceptable level of fidelity?

Share this post


Link to post
Share on other sites

I don't imagine either way is good, I was just pointing out that it can likely be done. Just unsure about methods and performance. And if you want to check the server for mines every 5 min, I would think you would also have to place a variable on each one of them so the server isn't saving the wrong mines. A territory check won't be sufficient, because at that point players would be able to place them like normal, and there would be no limitations of how many are placed. Don't take me to literal, I'm definitely no pro at scripting.

At the end of the day, IMO it's just a hassle. Not so much the scripting, but for the players having to avoid mines in their own base. I just don't see how they are going to be effective if you place them in places you can avoid, away from doors and safes.. maybe you have something else in mind. And I can't imagine there would be a way to only make these mines detonate in the presence of a non territory member without a constant running loop. Again, I may be wrong and would love to see it happen.

But this post is what got our community thinking, and we came up with placing explosives on safes. I released it to work against thermal scanning, though with a mine detector you can see weather or not the safe is rigged. If it is, you get the option to attempt a defusal. A failed defusal results in death, as well as scanning a rigged safe. I created it originally to work with a lockpicking script here on the forums that I use. There is no physical explosive for the server to handle, only a variable on the safe that is set, and it gets tagged in a new column with containers table when you place the "satchel". The script whether it's lockpicking, or thermal scanning looks for this variable, then if it's found a scripted explosion takes place, the variable is removed and the column in the db is reset to it's default state. If the safe is not tampered with, a modified ExileServer_object_container_database_load sets the variables on the proper safes when the server boots. The only loop is a while true for the addaction, which i soon intend to use interaction menus when I get around to it. If browse through it and find that it may be useful in getting you ideas working, feel free to use any and all of it.

Edited by oSoDirty
Mouse kept freezing, had to save & reboot in mid message.

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.