I noticed that after adding a certain plugin to a Minecraft server, the runner’s stdout reader would stop abruptly, with only a log saying the reader stopped. I realised that when it encountered an error, I made it stop without logging the actual error. After making it log the error, I saw that it stopped due to the output not being UTF-8. I fixed this by replacing my use of BufReader’s .lines() and reading the stdout to a Vec<u8>, converting to a string lossily, so that it handles non-UTF-8 output.
I also knew that the plugin/mod resolver was not very robust, not finding the actual plugin/mod most times. I improved this by reading the author info from the plugin/mod metadata with a more accurate data structure, eg. accounting for the authors field to be a string or a list of strings, using the author to compare with search results to ensure the correct result is selected. I also now try both the reported plugin/mod name and the name from its filename.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.