SEServerExtender / EssentialsPlugin

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

[BUG] More Grids Not Concealing #52

Closed FoxWyvern closed 8 years ago

FoxWyvern commented 9 years ago

I now understand the issue with attached grids, however I am now getting grids that are no longer concealing with v1.13.2.2443 but were concealing in v1.13.2.2441. In fact the net loss of performance is making me considering reverting to the prior version.

On the other hand, voxel concealment seems to be working perfectly.

dodexahedron commented 9 years ago

2443 concealment is identical to 2441 concealment.

FoxWyvern commented 9 years ago

From my testing, .2443 conceals just like .2441 does until I add the wrr to the commandline. Now I"m starting to see this in the logs.

2015-06-17 23:58:47.1822|Info|Revealed - Id: 189216036032445279 -> 1810225480107 12788 Display: Raiel Industries OwnerId: 144115188075855946 OwnerName: RPINerd Reason: Grid has medbay and player is factionshare - playerid: 14411518807585587 4

It is ignoring the setting to conceal large grids with med bays which I have set to true. (I use the block subtype Ignore LIst to decide what large grids to not conceal.)

FoxWyvern commented 9 years ago

I removed wrr from my commandline.. seeing voxels conceal was nice but the net loss of 20-30 ups on my computer was to much..

dodexahedron commented 9 years ago

I'll check for an interaction there. Thanks for the troubleshooting.

-----Original Message----- From: "FoxWyvern" notifications@github.com Sent: ‎6/‎18/‎2015 8:41 AM To: "SEServerExtender/EssentialsPlugin" EssentialsPlugin@noreply.github.com Cc: "dodexahedron" brandon@dodecatec.com Subject: Re: [EssentialsPlugin] More Grids Not Concealing (#52)

I removed wrr from my commandline.. seeing voxels conceal was nice but the net loss of 20-30 ups on my computer was to much.. — Reply to this email directly or view it on GitHub.

FoxWyvern commented 9 years ago

I vaguely remember seeing somewhere a request by a player for grids with medbays with faction ownership. I don't remember if it was in a forum, or a request to you (dodexahedron), or to Tyrsis back when he was at the helm. I haven't had SESE for very long but I did look through a lot of old stuff to catch up as best I could. However, due to the log stated above, it does appear that's whats going on. It's a nice idea, I admit, as it solves a problem with spawning at a med bay.

However, I request, if its easy enough, that this be a toggle-able feature in essentials.

I've been talking with a couple other server admins, such as Chuu and SilentSymphony. For some, it would appear that kind of feature works great. However, for others, such as myself, with a world with several players who like to build large structures with med bays and are all in the same faction, not so much.

Regardless, it probably shouldn't be relying on the wrr command to function.

The spawning at a med bay and concealment has always been an interesting topic of discussion. Here is what I've done on my server. (Skip the following if you want to keep topic focused more on the issue at hand.)

I currently have 12 large grids (all stations and owned by various players) with medbays in various parts of the world. They range in complexity and number of blocks with some being quite overkill. Our server is private set to a steam group so we have much greater control over the players on our server compared to some public servers. We have a set of server rules that everyone has to follow, all of which revolve around how Dynamic Concealment works. They are as follows:

Max Antenna Range: 10,000 (Do not set greater than this number) Max Beacon Range: 10,000 (Do not set greater than this number) Rotors are not allowed on Stations (I know, I’m sorry but this directly has bogged the server) Pistons are not allowed on Stations (I’m still sorry) Do not leave the server with any “LOCKED” connectors on ships. (I’m really sorry.) Do not leave the server with “LOCKED” landing gear. Rotors are not allowed on ships with over 200 blocks Pistons are not allowed on ships with over 200 blocks Make sure you mine over 13,000 meters away from anyone’s Station. Make sure you let people know when traveling/connecting/disconnecting on TeamSpeak (reveal/conceal is set to 8,000 meters for traveling) Try to let people know when you’re about to start mining.

With those rules set in place, I add the line LargeAdvancedStator to the Block Subtype Ignore List for Essentials. Conceal is set to 8000, with Include Large Grids and Include MedBays set to true.

I then build 12 identical grids on a creative world, all with minimal number of heavy armor blocks, a medical bay, a solar panel, beacon set to 10,000 meters, and a rotor with a missing top. I gave each a entity name identical to that of the 12 stations in our world with the exception of adding a (R) at the front which just stands for reveal. Named all the Beacons "Station Reveal Spawn Point." and with SE Toolbox, moved them into our existing world, moving the appropriate ones to within 300 - 500 meters of everyone's station and transfer ownership of all blocks to the appropriate players, saved, and that's it.

This, which should be pretty obvious by now is just an attempt to keep all grids that can't conceal down to a minimal number of blocks but still allow all players to spawn at their stations.

Probably doesn't help in the least, but at least explains my situation and maybe even give some random server admin faced with the same problem who happens upon this an idea of a way around not being able to spawn at concealed stations/ships.

FoxWyvern commented 9 years ago

Retested and still an issue as of:

Space Engineers: 01.087.007 (SESE: 1.86.08.530 - Essentials: 1.13.2.2443 - Get Out Of My Sandbox: 1.0.1.53)

FoxWyvern commented 9 years ago

Ok so even withou wrr in the commandline, I'm noticing oddities with concealment. Not quite as crazy with wrr making all my faction's grids reveal but still having very slow conceals.

Basically, I have some.. not all.. faction grids with med bays revealing when players connect. Additionally those same grids do not conceal if nobody is around them for around 20 minutes. Same is true if you reveal them by flying over to them, they tend not to conceal when nobody is there for a long period of time.

I've been looking through the logs to identify some grids not being concealed when they should and I've started to identify revealing on a much smaller scale of faction grids with med bays then if I had the wrr command line as well as slow conceals.

wvm is still in the command line for all this though so I'll remove it as well as turn off voxel concealment in essentials and let the server run for a few hours and take a look at the logs when i can afford a server restart here.

FoxWyvern commented 9 years ago

With the wrr already removed from the commandline. I additionally removed wvm and turned off Voxel Concealment in Essentials. The result is my server acting exactly as I have been wanting without of course the ability to conceal astroids.

That is, grids are no longer revealing just because they have a medbay and are linked via a person connecting via that individual being in the same faction as the owner of the medbay.

Additionally, there is no delay in concealment due to one of these faction based grids being revealed. Instead, the only delay is due to a person dieing and creating a floating dead body within conceal/reveal range of a given grid. If nobody is around said grid, the grid will conceal when player chooses his next medical bay respawn, assuming its out of range of that grid, OR if he never chooses a medical room to spawn at, the grid will conceal when the dead body disappears.

All of this is working perfectly and I assume is how it was designed to reveal/conceal. However, this is only all true without the wvm, wrr, and voxel concealment.

I however, do have one very specific Large Ship that is not concealing under any circumstance. It doesn't really have a large number of blocks, no pistons, no rotors, antenna set to low broadcast range, no landing gear, an unlocked connector, but absolutely will not conceal. I was hoping to discover the reason behind this before posting, but just haven't been able to. There are a lot of ships and stations on our world and we have narrowed a lot of the non-conceal issues down. But this one remaining ship is just stumping us. Hopefully, we'll figure it out, we're planning on rebuilding it from scratch and trying to conceal it as we break it down and build the new one up.

FoxWyvern commented 9 years ago

Additionally, I have found that antennas not broadcasting because they are not fully constructed, are still causing grids they are attached to, to become revealed when a player is within range, even if they can't see the actual antenna because it's non-functional.

FoxWyvern commented 9 years ago

same appears to be true for beacons

FoxWyvern commented 9 years ago

With all that taken care, there were 3 grids that I was still aware of that were not concealing without any reason I could think of. 2 are stations, 1 is a large ship and we've gone over them with a fine tooth comb.

In the entities tab, as I click through these grids. The second I highlight those grids, the server kicks back a FLOOD of the following error:

2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args) 2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args) 2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args) 2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args) 2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args) 2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args) 2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args) 2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args) 2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args) 2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args) 2015-06-21 00:13:16.1056|Error|SEModAPIExtensions.API.PluginManager.DoUpdate|System.NullReferenceException: Object reference not set to an instance of an object. at SEModAPIExtensions.API.PluginManager.DoUpdate(Object args)

Now to be honest, I know the two stations kicked back that error, but by the time i highlighted the ship, my log file was so full that I'm not really sure if it genereated any more onto the length of the errors that was already there. I will test again but I can't seem to repeat the error message once the server is running two times in a row. Additionally, my test server is starting up real slow as it connects to steam servers to try and update mods.. like a 30 to 60 minute wait. so I'll try and get the info when i can.

dodexahedron commented 9 years ago

As mentioned on another issue, I'd love to chat with you in real time to get some of the details of some of these enhancements/fixes hammered out. This is good stuff. Thanks a lot and keep it coming! :smile:

FoxWyvern commented 9 years ago

sorry, I missed that message. I'd love to chat as well. What is the best way to make this happen?

FoxWyvern commented 9 years ago

@dodexahedron as mentioned in another post, I can't find a private message option on GetHub, so I guess just add me on steam: http://steamcommunity.com/profiles/76561197963215468/ , after we make initial contact, we'll exchange more profile TS / skype information.

Additionally, I found Keen's forum's a good source to contact you through a private message which I did with related TS information.

FoxWyvern commented 9 years ago

I still have 3 large grids (probably some others with a low block count that I haven't gone and looked for) I'm watching on my live server that refuse to conceal and I've started to run out of ideas on what exactly could be preventing them. My live server is up to 100% sim speed for just about every player so I'm not going to cry. We're a long way from the unplayable 20% most players were getting. I'm going to be forced to push these 3 grids to the back burner till I can think of something else to try and test.

Look forward to getting in contact with you @dodexahedron . Hopefully we can find these last few nails and hammer them out.

FoxWyvern commented 9 years ago

@dodexahedron , I have discovered why the final 3 large grids on my current list of, "unknown reasons for not concealing". It appears to be associated with the status of refinerys and arc blasters. Our server is setup as "realistic" for most everything and thus some players, such as myself, have refinerys running 24/7 chomping away at ore like uranium and platinum.

It appears that if there is a refinery or arc blaster who's status is "WORKING" , that grid will not conceal until the status is "IDLE" or "OFF".

And that's it. I officially have no more grids on my list of unknown reasons for not concealing.

Recap: Current list of (possibly abnormal) reasons why grids won't conceal. -Attached to another grid through piston, rotor. -Attached to another grid through locked landing gear or connector. -Having voxel concealment enabled with commands in target commandline causing an added filter to reveal (grid/grid's medbay owner is in the same faction as connected/connecting player) applied to grid concealment which directly effects conceal large grids with medbay = true. -antenna's set to range that falls within player, toggled on, but damaged and thus not functioning will still cause reveal as if they are actually functioning blocks. -beacon's set to range that falls within player, toggled on, but damaged and thus not functioning will still cause reveal as if they are actually functioning blocks. -A grid with a "WORKING" refinery or arc blaster will not conceal until status is changed to "IDLE" or "OFF"

list of (possibly normal) reasons why grids won't conceal -conceal distance is ignored because player can still see beacon or antenna