Page MenuHomeSchine - Phabricator

Starmade | Moving stations as admin by using /change_sector or /change_sector_for breaks territory claims
Closed, FinishedPublic

Description

When being moved, any territory claimed by a station will remain claimed, even if the station is moved outside of the claimed system.
The faction-module on the station can then be used to claim the system of the new location, if unclaimed before.
When the station is then "destroyed" [only destroying or removing the faction-module is sufficient], the claimed territory the station is currently located in is unclaimed, any other territory claimed using that station using the previous exploit will remain claimed, and the claim will no be removable by any currently known means to standard players.
This is especially bad, if the server offers access to sector-teleportation commands for specific non-administrator players, e.g. donors or similar.

To reproduce:

  1. Spawn a station
  2. Place a build-block and a faction-module on said station.
  3. Join or found a faction (this step may be done as first step)
  4. Enter the faction-signature into the faction-module on the station
  5. Claim the system using the station'd faction-module
  6. Enter the build-block
  7. Use /change_sector (or get another player or script-wrapper to use /change_sector_for on you) to teleport to a different unclaimed system
  8. Use the galaxy map to observe the original system is still claimed
  9. Open the faction-module's menu, and observe as you can claim the current system, without revoking the original system
  10. Claim the current system
  11. Use the galaxy map to observe, that both systems are now claimed.
  12. (Optional) Goto step 6 and repeat the process to claim ever more systems
  13. Remove or destroy the faction-module on the station
  14. Observe as only the system the station is currently in is unclaimed, while all the previous systems claimed using this exploit remain claimed, and cannot be revoked without using admin-commands by any player.

Details

Commits
Restricted Diffusion Commit
Restricted Diffusion Commit
Restricted Diffusion Commit
Restricted Diffusion Commit
Task Type
Bug
Testing Results
Affected Gamemode(s)
Single and Multi
Reproducible
No
Last tested (version)
0.19385 (Dev)
Category
Engine
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
uncertain

Related Objects

Event Timeline

Megacrafter127 added a project: Starmade.
Megacrafter127 changed the visibility from "Custom Policy" to "Custom Policy".
Megacrafter127 changed Category from none/unspecified to Engine.
Megacrafter127 changed Affected Gamemode(s) from none/unspecified to Single and Multi.
Megacrafter127 changed Reproducible from uncertain to Yes.
Megacrafter127 set Last tested (version) to .19323.
Megacrafter127 edited Serverconfig (server.cfg). (Show Details)
Megacrafter127 edited Clientconfig (settings.cfg). (Show Details)
Megacrafter127 added a subscriber: Megacrafter127.
Megacrafter127 created this task.
Megacrafter127 raised the priority of this task from to Urgent.
Restricted Application added a project: Issue Navigation. · View Herald TranscriptJul 17 2015, 7:28 AM
Restricted Application added a subscriber: AndyP. · View Herald Transcript
AndyP changed the visibility from "Custom Policy" to "Custom Policy".Jul 17 2015, 10:20 AM
AndyP changed the edit policy from "Task Author" to "Starmade (Project)".
AndyP set Task Type to Bug.
AndyP changed Last tested (version) from .19323 to 0.19323.
AndyP set OS-Specific to No.
AndyP set Hardware-Specific to No.
AndyP set Video Card Vendor to uncertain.
AndyP moved this task from New / Unconfirmed to Open / Validated on the Issue Navigation board.
AndyP claimed this task.
AndyP removed AndyP as the assignee of this task.

validated

AndyP added subscribers: Crusade, lancake.

Duplicate merged, its in fact the same problem.

(sorry for mail-spam ^^° but didnt notice it fast enough)

lancake changed the task status from Open to In Queue (Game).Jul 19 2015, 9:23 AM

Confirmed, works for any command that allows you to move something to other sectors (like admin warp). This also works for planet segments.

Restricted Application edited projects, added Game Development; removed Issue Navigation. · View Herald TranscriptJul 19 2015, 9:23 AM
schema added a commit: Restricted Diffusion Commit.Jul 21 2015, 4:43 PM
schema changed the task status from In Queue (Game) to Resolved by committing Restricted Diffusion Commit.
Restricted Application edited projects, added Quality Assurance; removed Game Development. · View Herald TranscriptJul 21 2015, 4:43 PM
Restricted Application assigned this task to Megacrafter127. · View Herald Transcript
schema added a subscriber: schema.Jul 21 2015, 4:44 PM

Fix check on faction point turn if the stations still exists and is in the sector the system was originally claimed from

Megacrafter127 changed Last tested (version) from 0.19323 to 0.19333.Jul 22 2015, 3:18 PM
Megacrafter127 changed the task status from Resolved to In Queue (Game).Jul 22 2015, 3:25 PM

Failed to confirm fix in 0.19333
The test on whether or not the fix worked was performed using /faction_point_turn to force the check. The system, the station was originally in, remained claimed.
If the fix was not included in that build yet, please revert the status of the ticket to 'resolved' immedeatly.

Restricted Application edited projects, added Game Development; removed Quality Assurance. · View Herald TranscriptJul 22 2015, 3:25 PM
schema changed the task status from In Queue (Game) to Resolved.Jul 22 2015, 5:16 PM

Fix was not included in 0.19333

Restricted Application edited projects, added Quality Assurance; removed Game Development. · View Herald TranscriptJul 22 2015, 5:16 PM
AndyP changed the task status from Resolved to In Queue (Game).Jul 23 2015, 11:19 AM

[2015-07-23 10:34:24] [FACTIONMANAGER] MAKING FACTION TURN: Thu Jul 23 09:34:24 CEST 2015; 183; Turn: 60.0
[2015-07-23 10:34:31] [SERVER][FACTION] Station for system (0, 0, 0) was no longer found. removing ownership from faction Faction [id=10000, name=MuChMo, description=Administrators and also friendly players.
Watch your actions, and follow our instructions.
You may regret not doing so., size: 4; FP: 172009]
[2015-07-23 10:34:31] [SERVER][FACTION] Station for system (-1, -1, -1) was no longer found. removing ownership from faction Faction [id=10000, name=MuChMo, description=Administrators and also friendly players.
Watch your actions, and follow our instructions.
You may regret not doing so., size: 4; FP: 172009]
[2015-07-23 10:34:31] [SERVER][FACTION] Station for system (6, 6, 6) was no longer found. removing ownership from faction Faction [id=10006, name=Test Inc, description=a faction, size: 2; FP: 5414]
[2015-07-23 10:34:31] [SERVER][FACTION] Station for system (-7, 0, 14) was no longer found. removing ownership from faction Faction [id=10012, name=The Aethi Imperium, description=The glorious Imperium of Aethis.
"Sen'eslan Aethis, Aethi te lem vai'sa.", size: 3; FP: 999457664]
[2015-07-23 10:34:31] [SERVER][FACTION] Station for system (-3, 1, 3) was no longer found. removing ownership from faction Faction [id=10012, name=The Aethi Imperium, description=The glorious Imperium of Aethis.
"Sen'eslan Aethis, Aethi te lem vai'sa.", size: 3; FP: 999457664]
[2015-07-23 10:34:31] [FACTIONMANAGER] faction update took: 6447ms
[2015-07-23 10:34:31] [FACTIONMANAGER] System ownership called Server(0): 0 ->
[2015-07-23 10:34:31] [FACTION][SYSTEMOWNER][ERROR] cannot take ownership with base
[2015-07-23 10:34:31] java.lang.NullPointerException
[2015-07-23 10:34:31] at obfuscated.Uk.g(SourceFile:1752)
[2015-07-23 10:34:31] at obfuscated.Uk.c(SourceFile:1649)
[2015-07-23 10:34:31] at obfuscated.NV.updateLocal(SourceFile:523)
[2015-07-23 10:34:31] at org.schema.game.server.controller.GameServerController.update(SourceFile:2275)
[2015-07-23 10:34:31] at org.schema.schine.network.server.ServerController.run(SourceFile:323)
[2015-07-23 10:34:31] at java.lang.Thread.run(Thread.java:744)
[2015-07-23 10:34:31] [SERVER] Exception catched

Now throwing "nullpointer" and detecting stations that are there as "no longer found", also does not revoke system ownership on that message.
(system 0 0 0, with station in 4 4 4 is still owned by muchmo.)

Restricted Application edited projects, added Game Development; removed Quality Assurance. · View Herald TranscriptJul 23 2015, 11:19 AM
AndyP changed Last tested (version) from 0.19333 to 0.19336.Jul 23 2015, 11:19 AM
schema added a commit: Restricted Diffusion Commit.Jul 23 2015, 3:12 PM
schema changed the task status from In Queue (Game) to Resolved by committing Restricted Diffusion Commit.
Restricted Application edited projects, added Quality Assurance; removed Game Development. · View Herald TranscriptJul 23 2015, 3:12 PM

Faction point system needs a complete check (claiming of territory)

AndyP claimed this task.Jul 23 2015, 3:42 PM
AndyP changed the task status from Resolved to In Queue (Game).EditedJul 28 2015, 12:06 AM

It did claim a system on intial testing,
also revoked it on teleporting out of the system.

However, it then started to throw:

[2015-07-28 01:50:36] [SREVER] FACTION BLOCK ADDED TO SpaceStation[ENTITY_SPACESTATION_AndyP_1438040758667(1627)]((0, 0, 0))[s3; Hash1627; id 236417]; resetting faction!
[2015-07-28 01:50:38] [SERVER] received object faction change request 10221 for object SpaceStation[ENTITY_SPACESTATION_AndyP_1438040758667(1627)]
[2015-07-28 01:50:42] [FACTIONSYSTEMCHANGE] ADDING CHANGE 0: AndyP
[2015-07-28 01:50:42] [FACTIONMANAGER] System ownership called Server(0): New Values: FactionId 10221; System null UID(ENTITY_SPACESTATION_AndyP_1438040758667)
[2015-07-28 01:50:42] java.lang.NullPointerException
[2015-07-28 01:50:42] at org.schema.game.server.data.Galaxy.a(SourceFile:86)
[2015-07-28 01:50:42] at org.schema.game.common.data.world.Universe.getStellarSystemFromStellarPos(SourceFile:832)
[2015-07-28 01:50:42] at obfuscated.Uo.g(SourceFile:1762)
[2015-07-28 01:50:42] at obfuscated.Uo.c(SourceFile:1653)
[2015-07-28 01:50:42] at obfuscated.NZ.updateLocal(SourceFile:527)
[2015-07-28 01:50:42] at org.schema.game.server.controller.GameServerController.update(SourceFile:2275)
[2015-07-28 01:50:42] at org.schema.schine.network.server.ServerController.run(SourceFile:321)
[2015-07-28 01:50:42] at java.lang.Thread.run(Thread.java:744)
[2015-07-28 01:50:42] [SEND][SERVERMESSAGE] [SERVERMSG (type 3): System ownership failed
pleae send in log
NullPointerException
null] to RegisteredClient: AndyP (3) [AndyP]connected: true
[2015-07-28 01:50:43] [FACTIONMANAGER] trying to add news entry: FactionNewsPost [factionId=10221, op=AndyP, date=1438041043368, message=Faction Home set to AndyP_1438040758667 by AndyP., permission=0] on Server(0) -> fid(10221)
[2015-07-28 01:50:43] [FACTIONMANAGER] updated news on Server(0) for factionID 10221; delete: false
[2015-07-28 01:50:51] [FACTIONSYSTEMCHANGE] ADDING CHANGE 0: AndyP
[2015-07-28 01:50:51] [FACTIONMANAGER] System ownership called Server(0): New Values: FactionId 10221; System null UID(ENTITY_SPACESTATION_AndyP_1438040758667)
[2015-07-28 01:50:51] java.lang.NullPointerException
[2015-07-28 01:50:51] at org.schema.game.server.data.Galaxy.a(SourceFile:86)
[2015-07-28 01:50:51] at org.schema.game.common.data.world.Universe.getStellarSystemFromStellarPos(SourceFile:832)
[2015-07-28 01:50:51] at obfuscated.Uo.g(SourceFile:1762)
[2015-07-28 01:50:51] at obfuscated.Uo.c(SourceFile:1653)
[2015-07-28 01:50:51] at obfuscated.NZ.updateLocal(SourceFile:527)
[2015-07-28 01:50:51] at org.schema.game.server.controller.GameServerController.update(SourceFile:2275)
[2015-07-28 01:50:51] at org.schema.schine.network.server.ServerController.run(SourceFile:321)
[2015-07-28 01:50:51] at java.lang.Thread.run(Thread.java:744)
[2015-07-28 01:50:51] [SEND][SERVERMESSAGE] [SERVERMSG (type 3): System ownership failed
pleae send in log
NullPointerException
null] to RegisteredClient: AndyP (3) [AndyP]connected: true

whenever I tried to take over a system again.

Missing things:
It did (at least client side) revoke the owner ship of a system. But did not drop any message to the server-log or faction news. (According to log, it tried to add to faction news)
As this is a serious event, it should be warned about in both. channels. (As a missing claim without ANY trail is possibly causing trouble inside a faction.)

Restricted Application edited projects, added Game Development; removed Quality Assurance. · View Herald TranscriptJul 28 2015, 12:06 AM
AndyP raised the priority of this task from Urgent to Release Blocker.
schema added a commit: Restricted Diffusion Commit.Jul 28 2015, 10:33 PM
schema changed the task status from In Queue (Game) to Resolved by committing Restricted Diffusion Commit.
Restricted Application edited projects, added Quality Assurance; removed Game Development. · View Herald TranscriptJul 28 2015, 10:33 PM
lancake changed the task status from Resolved to In Queue (Game).EditedAug 1 2015, 12:19 PM

That check works now, but I think the /faction_point_turn command lacks something. It only works like it should if you use /force_save right before that. Else it will also unclaim the territory that station is in (because it probably was not saved before the turn?), it says that the original station was moved or destroyed.

Restricted Application edited projects, added Game Development; removed Quality Assurance. · View Herald TranscriptAug 1 2015, 12:19 PM
lancake changed Last tested (version) from 0.19336 to 0.19355 (Dev).Aug 1 2015, 12:19 PM
lancake lowered the priority of this task from Release Blocker to Trivial.
schema added a commit: Restricted Diffusion Commit.Aug 1 2015, 2:37 PM
schema changed the task status from In Queue (Game) to Resolved by committing Restricted Diffusion Commit.
Restricted Application edited projects, added Quality Assurance; removed Game Development. · View Herald TranscriptAug 1 2015, 2:37 PM
AndyP changed the visibility from "Custom Policy" to "Public (No Login Required)".Aug 4 2015, 7:28 PM
AndyP shifted this object from the S1 Public space to the S3 Starmade space.Aug 11 2015, 11:31 PM
AndyP changed the edit policy from "Starmade (Project)" to "All Users".

Fix Confirmed the claimed systems fix themselfs after one autosave and then a turn after said autosave (I agree with brent the command that forces faction point turns should also autosave however this report is fixed)

I also suggest faction point turns should force an autosave before they run.

Zackey_TNT changed Reproducible from Yes to No.Aug 19 2015, 9:01 AM
Zackey_TNT changed Last tested (version) from 0.19355 (Dev) to 0.19385 (Dev).
Zackey_TNT closed this task as Closed.Aug 19 2015, 9:10 AM
Restricted Application removed a project: Quality Assurance. · View Herald TranscriptAug 19 2015, 9:10 AM
Restricted Application removed a subscriber: AndyP. · View Herald Transcript
AndyP removed AndyP as the assignee of this task.Aug 22 2015, 10:07 AM
Restricted Application added a project: Engine. · View Herald TranscriptMar 10 2017, 6:30 PM