Emails are disabled - for account issues, post in #help on the NI Discord.

NI Server Browser
#1
Well, I actually don't know where to put this but I'll just place it here for now.

NI Server Browser

I think you know this situation: You are ingame but the round is not going as planned or just ended. But you don't want to leave because your not sure if there is any good server out there. So you just stay or sometimes leave and find yourself locked out of all servers because they are all full.
Another situation: You are not playing Mount and Blade Warband and want to know if there is any server available for you to join. But for this information you need to start up the game, which takes time and mostly you end up finding just full or empty servers.
With this little tool/program you are able to view the NI Server List at any time.

A few days ago, I noticed the links to the websites which show information about the diffrent NI Servers.
Links are all listed here: http://nordinvasion.com/server-links.html

But after just one 1 hour I got annoyed by just clicking every link to see if there is any player online and it was really hard to read informations quickly. This program displays all servers with their playercount, maxplayercount (should be the same everytime), current map, password, and also a number which indicates when the map was last change. At the current state you are not able to see the current wave etc. But the number which shows the last mapchange in minutes can help you to estimate the wave.

Please notice that this tool may/will contain bugs. Feel free to post any bugs you find. Most of this code was created in short time at 3 am so don't blame me for poor code parts. You can still post any improvements to the code here or at github. Also feel free to request features. I will look into them and maybe add them to the program.

Notice:
The counter of minutes which shows the last map change is client side, so it will just be recorded by the client. If you start the tool every server will be at 0. After that it will start to watch the maps and add or reset the counter, based on whether the map changed or not.

Auto Refresh is currently at 2 seconds, which allows the list to be almost every time up to date.

Picture:
[Image: durmw2lm.png]

Download Link:
http://www.mediafire.com/download/eqfqho...erList.jar

Github:
https://github.com/Jalau11/NIServerBrowser
Loots:
?.?.12 - Wormbane
4.6.18 - Penetrator


[Image: 76561198058198743.png]
Reply
#2
I like it  Wink
DB_BlackWarden - DB_BlackPeltast - DB_BlackKnight - DB_BlackPavise
Alchemist 16 - ArmorSmith 21 - BlackSmith 18 - Alchemist 8
Reply
#3
(06-01-2015, 09:31 PM)BlαcĸSɴιper link Wrote:I like it  Wink

Thanks. Feel free to request or report anything. What happened to me is that if I startup and press search it does simply do nothing other then open the window. You can restart the program then or click refresh(not tried if that works).
Loots:
?.?.12 - Wormbane
4.6.18 - Penetrator


[Image: 76561198058198743.png]
Reply
#4
This is quite nifty. How long did it take for you to code? Could you implement a sorting function like in the ingame browser? It'd be nice to be able to sort by players online, map name, server name, etc.
ba da bing ba da BAN! -Hypernoma
Reply
#5
(06-01-2015, 09:52 PM)clickeverywhere link Wrote:This is quite nifty. How long did it take for you to code? Could you implement a sorting function like in the ingame browser? It'd be nice to be able to sort by players online, map name, server name, etc.

Took me a total around 5 - 6 hours I think. The longest part was to figure out how to retrieve the information from the website. Because normal methods did not work I needed some work arounds and some weird stuff.
For the sorting function: I already played around with that. Currently the problem is that the cells that are colored due the player count won't change their color and it will mix up the table. Also I noticed that if I sort it ascending everything disappears. Gonna figure that out. I will still continue trying to implement this.
Loots:
?.?.12 - Wormbane
4.6.18 - Penetrator


[Image: 76561198058198743.png]
Reply
#6
Good work this could really turn into something keep at it man! I'll try it out later, what programming language did you use by the way?
Reply
#7
(06-01-2015, 10:25 PM)Fireandblood link Wrote:Good work this could really turn into something keep at it man! I'll try it out later, what programming language did you use by the way?

Thanks mate Smile I will try my best to improve it! I used Java for it because thats the language that I know the best.
Loots:
?.?.12 - Wormbane
4.6.18 - Penetrator


[Image: 76561198058198743.png]
Reply
#8
Nice project. Looking at the commits there is hard coding or spaghetti code can be cleaned up. The fromArray method can just parse XML and put the values into variables (named by the tag names) rather than parsing the textual XML tags. If the servers should change, editing only a text file that contains the list of servers would allow for modular changes instead of editing hard coded servers inside this method. The load method could read from a text file rather than hard code the urls inside the code. You can edit the block inside updateServerData which checks the selected frame against the name of the selection by matching the selection against the value of the name.
Quote Board is on Discord (last updated 2024.10.10)
"When I feel bad, I read your quote board." - Corndog

Tofu: People call Tricksters racist, yet we have the most Muslim members of any house.
PCK: If Islam is a religion of peace, and Tricksters have the most Muslims, then is House of Tricksters the house of peace?
Falankos: I always knew that we were the good guys.
Reply
#9
(06-01-2015, 11:33 PM)Malong link Wrote:Nice project. Looking at the commits there is hard coding or spaghetti code can be cleaned up. The fromArray method can just parse XML and put the values into variables (named by the tag names) rather than parsing the textual XML tags. If the servers should change, editing only a text file that contains the list of servers would allow for modular changes instead of editing hard coded servers inside this method. The load method could read from a text file rather than hard code the urls inside the code. You can edit the block inside updateServerData which checks the selected frame against the name of the selection by matching the selection against the value of the name.

Thanks. So you want me to use methods to parse XML instead of just splitting the text? For the text file, I also considered that but I first started coding this just for me so I did not add something like this, but I can later on. For the updateServerData part, I don't know exactly what you mean. Could you maybe explain that part again? If you want to you can add a push request to the github repository.
Loots:
?.?.12 - Wormbane
4.6.18 - Penetrator


[Image: 76561198058198743.png]
Reply
#10
Interesting.  Thanks.
Reply




Users browsing this thread: 2 Guest(s)