torhus / monster-browser

A simple game server browser for Quake 3-based games
https://sites.google.com/site/monsterbrowser/
10 stars 1 forks source link

Can't add OpenArena #2

Closed ghost closed 2 years ago

ghost commented 2 years ago

I tried with:

[OpenArena] exePath=C:\Juegos\openarena\openarena.exe masterServer=dpmaster.deathmask.net

But it shows no servers. If I add :27960 as port it says that can't reach the masterserver.

Can you please help me?

torhus commented 2 years ago

I works if you add the gamename in the config too:

[OA baseq3]
mod=baseq3
exePath=C:\Juegos\openarena\openarena.exe
masterServer=dpmaster.deathmask.net

[OA osp]
mod=osp
exePath=C:\Juegos\openarena\openarena.exe
masterServer=dpmaster.deathmask.net

Etc. Perhaps not ideal, it works this way because MB was made before the standalone Quake 3-based games arrived.

ghost commented 2 years ago

Oh, it's now reading some servers! Cool! But still some other servers are missing. I added:

protocolVersion=71

But instead of showing different/new servers, it shows nothing. Any idea? Sorry for all the troubles.

ghost commented 2 years ago

Gig on OA Discord pointed the correct one:

[OpenArena]
mod=baseoa
exePath=C:\your path\OpenArena\openarena.exe
masterServer=dpmaster.deathmask.net:27950
protocolVersion=71
torhus commented 2 years ago

Cool. There are also some servers that have their gamename set to Quake3Arena, not sure what is up with that.

If you want check which servers are actually on the master, you can dig around in the data files, in "%APPDATA%\Monster Browser".

torhus commented 2 years ago

I'm not familiar with OA, I see some servers have the game cvar set to "rat", is that a kind of mod? If you set mod=rat you will get just those servers, since both game and gamename are compared to that value.

ghost commented 2 years ago

To be honest, I just return to OA after a huge hiatus, but if somebody on the Discord server can throw some light to this I will notify you asap.

The-Gig commented 2 years ago

Rat is the name of a rather popular OA mod. Although I'm an old timer q3/oa user, I haven't digged a lot on how "gamename" should and actually is used... I think "game" usually holds the baseoa or mod folder name... (Wait, I think I'm confusing it with fs_game...)

The-Gig commented 2 years ago

I just started doing some more testing comparing the servers found by Monster Browser with dpmaster website https://dpmaster.deathmask.net/?game=openarena, to see if they are all and what their game and gamename parameters are set to. Unfortunately, my kid woke up and I had to stop after the very first test (which showed me that if I remove the "mod=baseoa" line from MB configuration, it shows no OA servers at all).

I also planned to do some tests to see what the game sets for game and gamename by default, but that will have to wait, too. Sorry. For the moment, I can only guess (!!!) that, depending whether gamename default value comes from engine or gamecode, the servers showing it as quake3arena might be using an ioquake3 fork (different than official OA binaries) or a mod designed for quake3 respectively, and their admins don't force a new value. But that's just guessing, so far.

ghost commented 2 years ago

Unfortunately, my kid woke up and I had to stop after the very first test (which showed me that if I remove the "mod=baseoa" line from MB configuration, it shows no OA servers at all).

That was my original problem and why I started asking on OA Discord server :D.

Trying to help here. I remember back in the days when I played UrT a lot, that there was three compatible engines: The q3 one, the Urt modified and another alternative/advanced engine. Could it be related with the servers called quake3arena? Because afaik, you can execute OA as a Q3 "mod".

The-Gig commented 2 years ago

I see from the mods.ini instructions, that "mod - defaults to being the same as the section name", hence if you omit that parameter, MB considers like you set it the same as what you have in brackets [ ] above. So, considering (probably due to some third party engine or gamecode default value) many OpenArena servers still have "quake3arena" in their "gamename" (despite actually being OA servers), setting "mod=baseoa" currently leaves half of the servers filtered out, I fear the only workaround for users, at the moment, is like adding two entires to the list, like [OpenArena baseoa] and [OpenArena quake3arena], so by checking both of them you should see most servers, although at different times. (or adding multple entires, depending from the mod you are interested into, of course)

I think the only real solution to see all OpenArena servers at once will require @torhus to update Monster Browser, to allow people entering something like "mod=" with being intepreted as "all servers". Maybe a such feature might be useful also for other id tech 3 derived games, IDK.

Maybe he could even add OpenArena as a new default setting for mods.ini for new MB installs; although people will need to customize mods.ini anyway to set their own "exePath" (as OpenArena does not come with an installer and does not create registry keys), that's still easier that having to enter the whole section, isn't it?

torhus commented 2 years ago

Thanks for your input, guys! I made a quick test build which enables you to just disable any filtering on the game and gamename cvars by setting mod to nothing (mod=) in mods.ini. You can try it out by downloading from here: https://ci.appveyor.com/project/torhus/monster-browser/builds/44219092/artifacts

Let me know if this basically solves the problems, or not. Maybe the ideal solution would be to at least have a way to select both a game and its various mods without having to edit a file, but that's a lot more work to do.

IIRC, the game and gamename cvars are used in a very inconsistent way across different games and mods, that's why MB just checks both of them.

ghost commented 2 years ago

With: [OpenArena] mod= exePath=C:\Juegos\OpenArena\openarena.exe masterServer=dpmaster.deathmask.net:27950 protocolVersion=71

I get 118 servers RN, same ammount of servers as https://dpmaster.deathmask.net/?game=openarena shows :D

The-Gig commented 2 years ago

Tested the beta "jul 19 2022".

Yes, now having "mod=" shows all the servers, while completely removing the "mod" line works the old behavior ("same as section name"), as expected. Good job, man!

Anyway, I wonder whether existing users might have a lot of configs where they already have "mod=" (which previosly meant "same as section name"), and may get confused, after updating the program...

Also, maybe you might want to change "mod - defaults to being the same as the section name. Set to empty value (mod=) to disable filtering." to "mod - omit the line to have it assumed the same as section name. Set to empty value (mod=) to disable filtering/show all servers. Checked against game and basegame gamename values."

Side notes:

torhus commented 2 years ago

Here are the current changes: https://github.com/torhus/monster-browser/compare/master...openarena

@The-Gig

Anyway, I wonder whether existing users might have a lot of configs where they already have "mod=" (which previosly meant "same as section name"), and may get confused, after updating the program...

Actually, MB would just crash if you did that, I had to fix that bug for this change to work.

Also, maybe you might want to change "mod - defaults to being the same as the section name. Set to empty value (mod=) to disable filtering." to "mod - omit the line to have it assumed the same as section name. Set to empty value (mod=) to disable filtering. Checked against game and basegame values."

I guess I could mention which cvars are involved, game and gamename. Otherwise I think it's fine, it's consistent with the other descriptions.

Side notes:

* Maybe an option to hide the unresponsive ones might be nice (or just omitting them altogether). When they are not filtered out by "mod" parameter, they end up being showed.

Thanks, that's a bug. They will be removed after the third time in a row they don't respond, but they should not be visible if they have never responded at all.

* Maybe also changing the instruction of masterServer option to "defaults to master.ioquake3.org:27950" would be useful to show people how to specify the port number.

I try to keep the descriptions concise, and let people figure things like that out by looking at the included configurations.

* I guess you may include OpenArena as a new preset, if you like. By the way, isn't there a preset for "All Q3A servers", out-of-the-box?

If it seems to work fine, I'll include it. There is no preset for that, they are still filtered by game/gamename.

* I would suggest calling the test versions ZIPs like "09eBeta01" or "2022-07-19" to make it clearer which test version we are referring to. Which by the way in the program is referred like "jul 19 2022", I don't see a reference to "09d" in the GUI.

It's just an automated build, a new one is made for each new commit. I could change the naming if I make a proper beta release, but I have done without them so far.

ghost commented 2 years ago

Awesome news @torhus, thanks for keep working on this!

I have a little silly request: As I play several supported games I only keep one shortcut to your program. But sometimes I want to go to a mod or just play alone to try things or practice jumps etc. Do you think would be viable to add a button to just launch the game without connecting to any server or anything? I see plenty of free space on toolbar so maybe you could add a button to launch the game (or even a button to "connect" to a server -there is no button for that right now- with a dropdown with several options, one of them to launch the game).

torhus commented 2 years ago

New build, fixed the issue with dead servers being listed: https://ci.appveyor.com/project/torhus/monster-browser/builds/44231205/artifacts

I have a little silly request: As I play several supported games I only keep one shortcut to your program. But sometimes I want to go to a mod or just play alone to try things or practice jumps etc. Do you think would be viable to add a button to just launch the game without connecting to any server or anything? I see plenty of free space on toolbar so maybe you could add a button to launch the game (or even a button to "connect" to a server -there is no button for that right now- with a dropdown with several options, one of them to launch the game).

Basically, to get MB to set the fs_game parameter..,? Or to save space on your desktop?

ghost commented 2 years ago

To have less (userless) shortcuts on my desktop. Basically I have now 3 shortcuts and MB. If MB allows me to open the game directly (just launch the exe as a shortcut) it will allow me to delete all the other shortcuts. I know maybe it's a silly request, but maybe in the future we can have something like "Rocket Launcher" for doom that allow you to launch the game (well, in this case, engine) with parameters all in one program.

torhus commented 2 years ago

Right, it's an interesting idea.

The-Gig commented 2 years ago

Something like a "launch game" button? If you press it with no server selected, it might just start the game without the "+connect xxx" parameter.

But IDK whether, in that case, it should try to pass "+set fs_game yyyy" where it's the mod from mod parameter in MB, depending from what game/mod you have selected from drop-down menu. It would make sense... But on the other hand, I fear it might end up creating useless empty folders inside the user configuration folders.

Anyway, that might be worth its own github "issue", as it sounds far enough from the topic of this one.

The-Gig commented 2 years ago

I tried the new beta (Jul 20 2022), and confirm the unresponsive servers aren't shown anymore.

* I guess you may include OpenArena as a new preset, if you like. By the way, isn't there a preset for "All Q3A servers", out-of-the-box?

If it seems to work fine, I'll include it. There is no preset for that, they are still filtered by game/gamename.

Yes, now that it's a supported feature, I would really suggest to add presets which show all the servers for a certain game, without mod filter (both presets for "base game" and "all mods" are useful, I think). That does apply to Q3A of course, but also for World of Padman, Tremolous (I don't play them, but I guess they might have their own mods, isn't it?)... So, something like Quake3Arena - All servers; Quake3Arena - baseq3; Quake3Arena - osp; OpenArena - All servers; OpenArena - baseoa; Tremulous - All servers; Tremulous - base... The downside is having the default dropdown list getting longer, but is it really a problem? At the moment the dropdown list shows up to 8 entires at once, I guess having it show more entires at once would help with that. Another fix could be switching to two layers of selection (first select game, then select all servers or specific mod), like other server browsers do, but that could be a major change comparing to how the mod.ini file currently works...

torhus commented 2 years ago

With the change to filtering, and custom game type names in #10, is it getting close to being useful for OA now? I haven't added a default config for OA yet, have to figure out the correct gametypes, etc.

The-Gig commented 2 years ago

Sorry, I'm on vacation at the moment and I would not be able to do proper testing for about 10 days, as I don't have a PC at the moment. I'll try to catch up with your updates then. See you soon!

The-Gig commented 2 years ago

Anyway, if in the meanwhile you want to know baseoa gametypes, they are listed here: https://openarena.fandom.com/wiki/Gametype and explained here: https://openarena.fandom.com/wiki/Manual/Gamemodes. Baseoa 0.8.8 supports 12 gametypes. The next version, oa3, will also support gametype 13 Possession (pos), which at the moment is in updated gamecode in github and available for testing as OAX mod, but who knows in how many years it will be officially released.

The-Gig commented 2 years ago

Hello, I'm back. I've seen https://github.com/torhus/monster-browser/issues/15. Do you have a test build with it?

torhus commented 2 years ago

@The-Gig https://ci.appveyor.com/project/torhus/monster-browser/builds/44557999/artifacts

The-Gig commented 2 years ago

Tried directly in MB 0.9e release. Works like a charm. Good job, thank you!

Only "limit", like mentioned here https://github.com/torhus/monster-browser/issues/11#issuecomment-1236757071, is that at the moment you cannot apply a "quick filter" to a game using a custom master server. But I don't know how to fix, unless using a separate field for typing your quick filter and apply it to the master server corresponding to what you have currently in the dropdown list.

UPDATE: Added Monster Browser to the server browsers list here: https://openarena.fandom.com/wiki/Servers#Server_browsers

torhus commented 2 years ago

Thanks! The "quick filter" feature is basically a leftover from when everything was a Quake 3 mod, before the standalone games started coming. Maybe it would be better to remove it now.

ghost commented 2 years ago

Hello! I'm back as well so if I can help with testing or something let keep it on this thread if you don't mind (I know github doesn't works this way but still...)

Just tried the new version. Thank you for your work!

First thing I though that could be added is an ".exe localizer" (or better said, a path router) so you can point to monsterbrowser where the .exe for each game/mod are. It also could ask you if you try to launch a game and can't find the .exe ("Monsterbrowser was not able to locate whatever.exe, want to locate .exe? Yes/No" smth).

EDIT: Sorry for the edit. Could be possible that monsterbrowser read again mods.ini before launching the game? That way we could avoid to restart it everytime we do changes on mods.ini (it's not likely you are going to do changes all the time but i think it could help).

torhus commented 2 years ago

Thanks! I think it would be better to use the new Githubs forum feature for this, so I'm moving it over there :) https://github.com/torhus/monster-browser/discussions/22