SEServerExtender / EssentialsPlugin

Dedicated Essentials Plugin
GNU Lesser General Public License v3.0
18 stars 18 forks source link

Dynamic Turret Management not working #20

Open Ragnar24 opened 9 years ago

Ragnar24 commented 9 years ago

Update: This post was to Tyrsis about a month ago. I have done some more testing and it seems that the turret management system does not work at all. It doesn't even respond in the console with anything that relates to turret management.

March 18 2015 First off thank you for the plugin. It has helped me admin the server tremendously.

Server Essentials Dynamic Turret Management is not working correctly. It does not shut off turrets when no enemy is around.

Alright so, here is the current settings: Just to be thorough I will list all dynamic settings

Conceal Distance: 10000 Conceal Enabled: True Conceal Ignore SubType List: N/A Conceal Include Large Grid: False Conceal Include Med Bays: True Show Messages: False

And here we go!

Turret Allow Exemption: False Turret Management Type: Enemy Turret Management Enabled: True Turret Target Distance: 2000

Here is what I have done to troubleshoot:

Set Target Distance to 2 and shut off turrets by the /off turrets command. The turrets stayed off.

After waiting 5 minutes I raised the target distance to 2000 meters again. Immediately turned the turrets on.

The turrets turn on when anyone is around. Not only enemies.

What can I do to have the turrets turn off while enemy is not around?

Thank you in advance, Ragnar

DigTron commented 9 years ago

https://github.com/Tostito/EssentialsPlugin https://github.com/Tostito/SE-Community-Mod-API

Precious turret management works on Tostito's fork but don't know if he intends to maintain it. I'm using it for the moment. But you may find clues there on how to get it to work dodex.

I think it has something to do with how Dodex's Extender parses the entity list..if you have alot going on chat commands have trouble seeing any entities to handle, unless you enter the entities tab and watch the list populate... but that's just the wild guess of a novice that's leafed through some of the source.

By the way dodex thank you for the massive pile of work your putting into this! I greatly appreciate it and have only switched to Tostito's last night.

I experimented the day before with rolling back various Dodex-Essentials source files (TurretManagement.cs, ProcessTurrets.cs, sometimes more ) and recompiling to see if I could get it to work but no luck, even tried reverting to some of Tyrsis's files. Though I'm really new to this and don't really know what I'm doing :D. Haven't looked at Tostito's source.

Ragnar24 commented 9 years ago

Thank you DigTron for the suggestion. I tried loading Tostito's Essentials version with his SESE version and I was having issues.

Due to my server being populated 24/7 I don't want to interfere with their gameplay by bringing the server down to test why or how I can get Tostito's SESE and Essentials working. If you know of another way that I can test let me know?

Also, if you find anything out about why the turret management system is not working or find a fix to it could you please let me know. At the moment there is over 600 turrets enabled on the server and the server is beginning to lag.

DigTron commented 9 years ago

oh yea, I've found its not a straight swap because of all the work dodex has packed in and because Tostito's still has dependency on Vrage.Common.dll.

So what I do is save a back up of Dedicatedserver64 for easy switching back to Dodex's version.

validate/update the game

if your using steamcmd you may need to delete the steamapps folder to get it to update/validate

its overkill but it gives you a fresh Dedicatedserver64 directory in 2 steps ...(3)

then add Tostito's extender from the sesEXTENDER-Tosti directory in his source release to the Dedicatedserver64 directory

then add Vrage.Common.dll from the 'Game Libraries' directory in his source release to the Dedicatedserver64 directory

and finally you copy the Essentials.dll from his 'seseESSENTIALS-Tosti' to your essentials mod folder

NOTE: If you use block restrictions you may need to clear your block restrictions as suggested by Dodex in his latest Essentials release.

Ragnar24 commented 9 years ago

Everything you said to do worked flawlessly, until loading the essentials plugin. It tries to load it, says that it loaded plugins succesfully but when I go into the plugins section it wouldn't load in. I reloaded a few times just in case it was delayed, but still nothing. Again I didn't do too much testing since there were 14 people waiting on the server to come back up. I will give it another shot sometime late at night. Again thanks for everything, much appreciated.

dodexahedron commented 9 years ago

I can't recommend strongly enough that you not try this or try to run any old code at all. For one, I definitely don't support it. But, more importantly, you're calling into old game code that no longer exists in the current version of Space Engineers, and thus you are potentially introducing undefined or incorrect behavior. That version is from before Keen did some restructuring of the game libraries and, while the interfaces haven't changed (aside from namespaces), that doesn't mean that the code or what it does hasn't changed. The whole thing is a black box, because it's all obfuscated, so you do things at your own risk when you start mixing versions.

Turret management is definitely on my list to address, and what is breaking it is probably fairly simple. I just haven't gotten there, yet. It's pretty high on my priority list, though, so it'll definitely be coming back as soon as I can get to it.

Ragnar24 commented 9 years ago

Thank you for making this a priority.

zrisher commented 9 years ago

+1 for turret management and +1 for all your hard work dodexahedron

zrisher commented 9 years ago

I suggest this be renamed to "Dynamic Turret Management not working" (drop the "Type")

Ragnar24 commented 9 years ago

Hey Dodex,

I know you are busy, is there any direction you could send me to try and figure out why this script isn't working correctly? Seems like it won't even load through essentials. I tried to have it send lines to the console on certain executions and haven't had any responses.

StellarwhimsRepo commented 8 years ago

just fyi I'm picking at this code again and will correctly submit a pull request if i think i have something useful. my forks were merely me ensuring i had something to come back to review in the future.