The following customBlockBehaviorConfig/customBlockBehaviorConfig.xml file has a typo:
<BlockBehavior> <SalvageBeam> <BasicValues> <Distance>0.25</Distance> <!-- 1 is equal to 100% sector radius --> <!-- timeBetweenHits = 1 / (unitSize^pow)*mult --> <BasicValues> </SalvageBeam> </BlockBehavior>
Attempting to start a server with this typo results in the server frantically seeking (e.g. hundreds of repeated log entries) data/config/revertBlockBehaviorConfig.xml
Oct 13 16:37:50 stars SMStage: java.lang.NullPointerException Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.controller.elements.UsableElementManager.parse(SourceFile:154) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.controller.elements.ManagerContainer.reparseBlockBehavior(SourceFile:300) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.controller.elements.ManagerContainer.<init>(SourceFile:210) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.controller.elements.StationaryManagerContainer.<init>(SourceFile:253) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.controller.elements.SpaceStationManagerContainer.<init>(SourceFile:9) Oct 13 16:37:50 stars SMStage: #011at obfuscated.Xt.<init>(SourceFile:94) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.data.world.Universe.loadEntity(SourceFile:431) Oct 13 16:37:50 stars SMStage: #011at obfuscated.ahR.a(SourceFile:1430) Oct 13 16:37:50 stars SMStage: #011at obfuscated.ahR.a(SourceFile:1402) Oct 13 16:37:50 stars SMStage: #011at obfuscated.ahR.a(SourceFile:1289) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.data.world.Universe.loadOrGenerateSector(SourceFile:955) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.data.world.Universe.getSector(SourceFile:651) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.data.world.Universe.getSector(SourceFile:645) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.server.controller.GameServerController.onLoggedIn(SourceFile:1745) Oct 13 16:37:50 stars SMStage: #011at org.schema.schine.network.server.ServerController.registerClient(SourceFile:151) Oct 13 16:37:50 stars SMStage: #011at org.schema.schine.network.commands.LoginRequest.login(SourceFile:95) Oct 13 16:37:50 stars SMStage: #011at org.schema.schine.network.commands.LoginRequest.run(SourceFile:204) Oct 13 16:37:50 stars SMStage: #011at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) Oct 13 16:37:50 stars SMStage: #011at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) Oct 13 16:37:50 stars SMStage: #011at java.lang.Thread.run(Thread.java:745) Oct 13 16:37:50 stars SMStage: java.io.FileNotFoundException: ./data/config/revertBlockBehaviorConfig.xml (No such file or directory) Oct 13 16:37:50 stars SMStage: #011at java.io.FileInputStream.open0(Native Method) Oct 13 16:37:50 stars SMStage: #011at java.io.FileInputStream.open(FileInputStream.java:195) Oct 13 16:37:50 stars SMStage: #011at java.io.FileInputStream.<init>(FileInputStream.java:138) Oct 13 16:37:50 stars SMStage: #011at obfuscated.f.a(SourceFile:39) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.server.controller.GameServerController.c(SourceFile:2950) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.controller.elements.ManagerContainer.reparseBlockBehavior(SourceFile:310) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.controller.elements.ManagerContainer.<init>(SourceFile:210) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.controller.elements.StationaryManagerContainer.<init>(SourceFile:253) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.controller.elements.SpaceStationManagerContainer.<init>(SourceFile:9) Oct 13 16:37:50 stars SMStage: #011at obfuscated.Xt.<init>(SourceFile:94) Oct 13 16:37:50 stars SMStage: #011at org.schema.game.common.data.world.Universe.loadEntity(SourceFile:431) Oct 13 16:37:50 stars SMStage: #011at obfuscated.ahR.a(SourceFile:1430)
The file data/config/revertBlockBehaviorConfig.xml does not exist as per T1549
Expected behavior:
Don't crash while reporting the ONLY error as seeking a file you don't expect to normally find anyways. This is confusing, and does not help your average server admin do anything useful. Please, be a little more sane: report an error relevant to where the actual typo is.