Posted July 16, 2019 [06:42:51 PM] SEVERE com.wurmonline.server.Server: null java.lang.NullPointerException at com.wurmonline.server.villages.GuardPlan.getMonthlyCost(GuardPlan.java:204) at com.wurmonline.server.villages.GuardPlan.calculateUpkeep(GuardPlan.java:137) at com.wurmonline.server.villages.GuardPlan.pollUpkeep(GuardPlan.java:519) at com.wurmonline.server.villages.GuardPlan.poll(GuardPlan.java:665) at com.wurmonline.server.villages.Village.poll(Village.java:1008) at com.wurmonline.server.villages.Villages.poll(Villages.java:1375) at com.wurmonline.server.Server.run(Server.java:2277) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) [06:42:51 PM] SEVERE com.wurmonline.server.Server: Server is shutting down but there is no information in the Exception so creating a new one java.lang.Exception at com.wurmonline.server.Server.run(Server.java:2595) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) [06:42:51 PM] INFO com.wurmonline.server.Server: Shutting down at: java.lang.Exception at com.wurmonline.server.Server.shutDown$1(Server.java:3729) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gotti.wurmunlimited.modloader.server.ProxyServerHook$8$1.invoke(ProxyServerHook.java:232) at org.gotti.wurmunlimited.modloader.classhooks.HookManager.invoke(HookManager.java:384) at com.wurmonline.server.Server.shutDown(Server.java) at com.wurmonline.server.Server.run(Server.java:2599) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) Any body know whats causing this? Share this post Link to post Share on other sites
Posted July 16, 2019 From the looks of it, you have a guard plan in WURMZONES.db GUARDPLAN table without a corresponding village. I *think* this will work in Sqlite: SELECT gp.* FROM GUARDPLAN gp LEFT JOIN VILLAGES v ON gp.VILLAGEID = v.ID WHERE v.ID IS NULL That should show you the offending guardplan so you can delete it. If you manually deleted a village from the database then there may be other tables where data could be depending on it. In WO, we don't delete villages. Even ones that are disbanded remain, which is how we were able to implement archaeology. Hope this helps. 1 Share this post Link to post Share on other sites
Posted July 16, 2019 42 minutes ago, Keenan said: From the looks of it, you have a guard plan in WURMZONES.db GUARDPLAN table without a corresponding village. I *think* this will work in Sqlite: SELECT gp.* FROM GUARDPLAN gp LEFT JOIN VILLAGES v ON gp.VILLAGEID = v.ID WHERE v.ID IS NULL That should show you the offending guardplan so you can delete it. If you manually deleted a village from the database then there may be other tables where data could be depending on it. In WO, we don't delete villages. Even ones that are disbanded remain, which is how we were able to implement archaeology. Hope this helps. Hi Keenan, Yes thanks i managed to find Guardplan to delete something that caused the crash. Thanks alot. Plz close! Share this post Link to post Share on other sites