catageek / ByteCart

Minecraft plugin for bukkit to create a LAN/WAN rail network with routing algorithm
GNU General Public License v3.0
27 stars 9 forks source link

This is my latest attempt to let the /bcupdater region 1 do its job. No way it succeeds #55

Closed MrKiller01 closed 5 years ago

MrKiller01 commented 6 years ago

PartofLog.txt This is a part of my log today where some problems are, signs are not being numbered after the error on the server, so it runs in circles....

catageek commented 6 years ago

Hi,

The routing tables are corrupted. "Slot 0 is not empty" means that the chest of the router contains something that Bytecart does not recognize at slot 0. The other errors with EOF exception are related to the content of the routing tables.

The best you can do is to clear the chests manually where the error occurs and restart the update.

MrKiller01 commented 6 years ago

Thanks for responding so fast, sorry to say but i do not quit understand where this slot 0 is....
And I have another little thing... The point to where I am starting the update is on a router. Everytime i've tried to make it work, the updater fails to give the starting router a number.. What can i do about it?

MrKiller01 commented 6 years ago

And then it still allowed double numbers. So I tried your option to remove all with /bcupdater reset_local 1 full.... and I tried 3 of them carts at the same time, then it gave again the error slot 0, so I tried to stop them all and wanted to do it by hand, so I /bcupdater remove... could not have more text running over the console to fill the screen, in other words, Bytecart crashed completely the server and spammed very much annoying messages that was going too fast to read. I had to stop the server... Now I am going to start her up, again, and then i will remove all chest books (middle of the routers) and retry to /bcupdater reset_local 1 full I hope this works, because it would be nice if it did for once.... Although I hope you can make the station signs more editable, so that those do not have to removed and written up again... To be continued.... (sorry)

MrKiller01 commented 6 years ago

Hi Catageek,

This morning i loaded the plugin and started to clear the system... I had yesterday removed all books from the 30 routers chests. This is what happened... [09:11:29 INFO]: Mr_Killer01 issued server command: /bcupdater reset_local 1 ful l [09:11:41 ERROR]: Could not pass event VehicleMoveEvent to ByteCart v3.1.2 org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:306) ~[spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) ~[spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:500) [spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:485) [spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at net.minecraft.server.v1_12R1.EntityMinecartAbstract.B(EntityMinecar tAbstract.java:328) [spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at net.minecraft.server.v1_12_R1.World.entityJoinedWorld(World.java:1633 ) [spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at net.minecraft.server.v1_12_R1.World.h(World.java:1603) [spigot-1.12.2 .jar:git-Spigot-d21162c-61e0c69] at net.minecraft.server.v1_12_R1.World.tickEntities(World.java:1437) [sp igot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at net.minecraft.server.v1_12_R1.WorldServer.tickEntities(WorldServer.ja va:665) [spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java: 817) [spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java: 406) [spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java: 679) [spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.jav a:577) [spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] at java.lang.Thread.run(Unknown Source) [?:1.8.0_144] Caused by: java.lang.IllegalStateException: Address is not valid. at com.github.catageek.ByteCart.AddressLayer.AddressString.getField(Addr essString.java:149) ~[?:?] at com.github.catageek.ByteCart.AddressLayer.AddressString.getRegion(Add ressString.java:109) ~[?:?] at com.github.catageek.ByteCart.AddressLayer.AddressSign.getRegion(Addre ssSign.java:44) ~[?:?] at com.github.catageek.ByteCart.Updaters.UpdaterResetLocal.doAction(Upda terResetLocal.java:35) ~[?:?] at com.github.catageek.ByteCart.Signs.BC8010.trigger(BC8010.java:173) ~[ ?:?] at com.github.catageek.ByteCart.EventManagement.ByteCartListener.onVehic leMove(ByteCartListener.java:95) ~[?:?] at sun.reflect.GeneratedMethodAccessor738.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1 .8.0_144] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:302) ~[spigot-1.12.2.jar:git-Spigot-d21162c-61e0c69] ... 13 more

catageek commented 6 years ago

Hi @MrKiller01 , This last error is because the router is not configured and you send a local updater. only a region reset updater will solve the router problem, give up with trying local updaters, this is not relevant.

try /bcupdater reset_region 1 full instead and let it run for a long time, until all it has passed on all the signs of all routers.

Once done, follow the tutorials that are linked on the plugin page, especially this one, starting at 5:35 : tutorial to send a region updater.

MrKiller01 commented 6 years ago

Hi Catageek,

I started yesterday to do your option, /bcupdater reset_region 1 full and i watched it go for a long time. Unfortunately over night the server was restarted, reason unknown, but now i have on my dynmap another red circle with a white hammer and wrench in the dynmap, that makes five (5) of them now, and do not move, either is there a cart.... When i tried to remove any left-over bcupdater carts, i used /bcupdater remove but that gave instead of good result an error. [09:49:10 INFO]: Mr_Killer01 issued server command: /bcupdater remove

org.bukkit.command.CommandException: Unhandled exception executing command 'bcup dater' in plugin ByteCart v3.1.2 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spi got-1.12.2.jar:git-Spigot-d21162c-82f3b02] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14 1) ~[spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServ er.java:651) ~[spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerCo nnection.java:1397) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.jav a:1232) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.jav a:45) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.jav a:1) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile: 13) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [ ?:1.8.0_144] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_144] at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot-1. 12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java: 748) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java: 406) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java: 679) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.jav a:577) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at java.lang.Thread.run(Unknown Source) [?:1.8.0_144] Caused by: java.lang.NullPointerException at com.github.catageek.ByteCart.BytecartCommandExecutor.onCommand(Byteca rtCommandExecutor.java:177) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spi got-1.12.2.jar:git-Spigot-d21162c-82f3b02] ... 15 more

catageek commented 6 years ago

Hi, you have this error because the server restarted and the plugin did not initialize the updater manager object since no updater was created in this session. If you create an updater, you won't have this error anymore until the next reboot.

MrKiller01 commented 6 years ago

Thanks for responding so clearly. I just have this problem i told, and it won't go away... (...but now i have on my dynmap another red circle with a white hammer and wrench in the dynmap, that makes five (5) of them now, and do not move, either is there a cart....) Do you have any idea how to fix this? Is there a method to tell Dynmap that there are no updaters (when there are non active?) and as I got this idea to make these circles with hammer and wrench in a different color, like red for bcupdater reset and green for bcupdater region.... Do you think that is a nice idea?

MrKiller01 commented 6 years ago

I feel so sorry to bother you with the same kind of errors...... I really am... but I did what you told me to do, and after the reboot i started the /bcupdater reset_region 1 full and the cart went on one track and came back in the dump. So I checked if there were numbers on the routers, there were still some, so I started again and noticed it went the other way, but now there was no sign of the cart on Dynmap.... I did get this message: [21:36:32 INFO]: Mr_Killer01 issued server command: /bcupdater reset_region 1 fu ll [21:36:51 ERROR]: Could not pass event VehicleMoveEvent to ByteCart v3.1.2 org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:306) ~[spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) ~[spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:500) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:485) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12R1.EntityMinecartAbstract.B(EntityMinecar tAbstract.java:328) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.World.entityJoinedWorld(World.java:1633 ) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.World.h(World.java:1603) [spigot-1.12.2 .jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.World.tickEntities(World.java:1437) [sp igot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.WorldServer.tickEntities(WorldServer.ja va:665) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java: 817) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java: 406) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java: 679) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.jav a:577) [spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] at java.lang.Thread.run(Unknown Source) [?:1.8.0_144] Caused by: java.lang.IllegalStateException: Address is not valid. at com.github.catageek.ByteCart.AddressLayer.AddressString.getField(Addr essString.java:149) ~[?:?] at com.github.catageek.ByteCart.AddressLayer.AddressString.getRegion(Add ressString.java:109) ~[?:?] at com.github.catageek.ByteCart.AddressLayer.AddressSign.getRegion(Addre ssSign.java:44) ~[?:?] at com.github.catageek.ByteCart.Signs.BC8010.SelectRoute(BC8010.java:220 ) ~[?:?] at com.github.catageek.ByteCart.Signs.BC8010.trigger(BC8010.java:149) ~[ ?:?] at com.github.catageek.ByteCart.EventManagement.ByteCartListener.onVehic leMove(ByteCartListener.java:95) ~[?:?] at sun.reflect.GeneratedMethodAccessor443.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1 .8.0_144] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:302) ~[spigot-1.12.2.jar:git-Spigot-d21162c-82f3b02] ... 13 more Again, sorry for being such a pain.....

catageek commented 6 years ago

Hi @MrKiller01

This time it is because the cart that passed on this BC8010 sign was not an updater but a normal cart that had nowhere to go because the sign was blank. Maybe you had a cart somewhere moving around. It's a good sign that normal carts do that after a reset.

You may want to set 'debug = true' in config.yml to get more precise logs, especially when you launch an updater. It will be easier for me to understand what's going on and for you : you will have the position of the sign that triggers the error.

catageek commented 6 years ago

for dynmap you must delete the bytecart layer. type /dmarker deleteset Bytecart

MrKiller01 commented 6 years ago

AAAAAAWsome, thanks for that valuable info. You should put that on the websites page of Bytecart, I think it would serve many people..... I will also change the debug option and give it a /bcupdater region 1 command to hopefully let all routers in the system getting their rightfull number....

Thanks...

MrKiller01 commented 6 years ago

I made a mistake, aparently, the /bcupdater region 1 returned directly into the trash because there were no adresses in the routers. So it gave an error and told me that I needed the new option; /bcupdater region 1 new So it went out the right way.... The option /dmarker deleteset Bytecart had no positive effect, but i deleted the marker, the updater with this command /dmarker deleteicon updater And now there are little houses that are called updater... It is in any way better than all over the map those red non moving icons...

MrKiller01 commented 6 years ago

Hi, I waited one day on completing the /bcupdater region 1 new... but now it is running in circles over a number of routers and does not comply to levers I pull to steer it in another direction... As you told me to turn debug on, so I did. I will keep it running, until I hear from you....

latest - Copy.zip

MrKiller01 commented 6 years ago

Because of updates it is needed for me to restart my server and therefor stop the Minecraft server... I really would like to know what to do with this circle-running-cart.... There are still routers where this cart did not go to, and will not after two days.... Hope to hear from you soon.

MrKiller01 commented 6 years ago

My server did a restart but i could block the updater cart on the track. On dynmap it gives the updater logo, but i do not think it is connected to the cart. What shall I do? Because the updater is not finished, shall I: /bcupdater region 1 new or /bcupdater region 1 or /bcupdater local 1 Please advise...

catageek commented 6 years ago

the right command is /bcupdater region 1. You should also check also the signs where the previous updater was running in circle. If it did not cross a router but stayed between 2 routers, there are only the 2 signs to check. They must display the same address. Just erase one or the two if they do not match.

If the updater was crossing a router, you should check the signs of the router crossed. The 4 signs of a router must be different, and must not be 1.0.0 except if it is from where you started.

MrKiller01 commented 6 years ago

I checked the route and it was and still is running over 5 routers. On every router I checked if the routes appointed to the routers signs were correct on the other side. I found that one track had been given the same number on a not connected track, while on the otherside three out of four routersigns were not yet adressed. I made that one clear and the cart is still running the same tracks.

I am now going to stop the updater, remove it from the tracks, and start a new fresh one at the beginning. I hope it will overcome it's problem and finish the job... Fingers crossed.

Well, it is not what it should do, it is passing out numbers that are already in the system, so it is again screwing up! I'm gonna stop this cart before it makes things again worse.

Ps. If this job is well done, did I watched your video correct by assuming that /BCUPDATER LOCAL 1 is the right command to renumbering the stations-signs that are already there?

catageek commented 6 years ago

yes, /BCUPDATER LOCAL 1 will renumber the local stations, but needs the router configuration to be completed and working.

For the router that is never crossed (that is what I understand), remove also the book in the chest along with the erasure of the signs before running a new updater. This should clean old artefacts that I believe are in the book. If the router is fixed, leave the updater run to update other routers that must have also some artefacts.

You're on the right path.

MrKiller01 commented 6 years ago

I've been a few days off the grid, and I hope coming weekend I find the time to try things you suggested.

MrKiller01 commented 6 years ago

Hi, ive been trying to get it right. 1) Do i need to start every time from the starting point? (Earlier I did and that's where it all went wrong in the first place, it numbered up from there instead of where it has left numbering, that was a much higher number. It started to give double adresses that were given away to routersigns before!) 2) It looks as if I have to start all over, I could remove books from chest, but if I do that, then the cart won't know which adresses are already been giving away. (Isn't there another solution to this problem, a scan cart maybe? that reads the routerpoint adresses and check them with the books in the chests?)

I hope you understand what i mean, cause this is getting annoyed, the behavior of the updatercart. (Ps. You are always welcome to visit the server and if I am around, then I can show you...)

Update: No matter where i start the updater, it does not know there are over 50 numbers given away and it still keeps starting at 1.2 or 1.3..... very annoying... Going to clear all, again, sigh.....

catageek commented 6 years ago

You need to start from the same place (i.e in front of BC8010 or BC8011 sign with '1.0.0' address, where you had to type the 'new' option) if the configuration is not complete. If it was interrupted because trapped in a loop, then this is the case.

Signs have priority over routes in the book, so we assume that address on signs are good.If the chest is missing, routes will be reconstructed from the address on sign if there is one, this is why it is important to erase all signs with a reset_region updater with 'full' mode option if there are some doubts on the consistency of address on signs, for example double addressing. You know know that when the books are removed, there is no way to know the routes so a full reset updater takes random directions. It is safe to send several reset updaters to speed up the process.

If you do a partial configuration, then start a new updater from a point of the network that is not configured yet, then you will have double numbering. Just don't do partial configurations, or start from a point that is already configured.

I can visit your server, but please prepare sufficient rights for me : bytecart.* rights, build mode, fly mode, tp permission. and tell me where I can find the rail network (tp point or coordinates).

Check the updater wiki, it gives you many information.

MrKiller01 commented 6 years ago

For that I need your IGN, so that I can appoint you the rights to make a difference... www.druifjes.nl:25555 Leave a /mail send Mr_Killer01 and tell your name, surname and IGN.... I would not be happy when someone who is making disadvantage of this situation by imposing as you. Send also your E-Mail adres so that we can establish communication on that first level.... (this is too public, and there are too much people who would do bad things, because they can...)

MrKiller01 commented 6 years ago

Yesterday I had finally the time to check all routersigns, they were with the exception of two looped routes all clear. I had not seen you at the gates of my server.. maybe the month December is a bit busy... does not matter if you get back to me after new year, gives me some space too... Happy holidays to you and yours!

MrKiller01 commented 6 years ago

For your information, with pain in the heart i stepped outside Bytecart, it had too much problems. Sorry, your hard work and patience will absolutely be appreciated by me. Thanks for all you done but I hope that in the near future I can reinstall it as a flawless working plugin, it has so much potential.... Thanks.