Realm667 / WolfenDoom

"WolfenDoom - Blade of Agony" | Important: This is only meant for development and testing purposes. You are NOT ALLOWED to use material from this repository for your own projects. Important: This repository is for development and testing purposes, you are NOT ALLOWED to use the copyrighted material for your own projects without our permission!
http://boa.realm667.com
253 stars 27 forks source link

[3.2] Coop lobby #1219

Closed x3003 closed 5 months ago

x3003 commented 2 years ago

It's great coop mode is underway, but there is still no lobby for players to see how many others are online wanna play. Is this planned ??? How else would you find another player for coop ?!?

Tormentor667 commented 2 years ago

I have no idea what is needed for something like this to work actually.

x3003 commented 2 years ago

You can see it for example in cube2 sauerbraten, but I've no idea how they centralize the servers.

Tormentor667 commented 2 years ago

That’s the point :)

x3003 commented 2 years ago

Well, but how should players find each other then ? Adding multiplayer is great, but if you can't play it, it's useless.

Tormentor667 commented 2 years ago

Currently this is only possible if you exchange IPs for host and clients, no idea if @mgrinzPlayer would be able to implement something like that. I could at least share a server for that on my webhost.

ColerXXX commented 2 years ago

The best thing would be to play with friends, even better if in LAN since gzdoom multiplayer is quite latency sensitive. Before there were VPN programs like Tunngle with public chatrooms where people could organize their game. Not sure what's the best option at the moment for the purpose, but I suppose that could be the way.

Very very happy that coop is coming over for this gem of game!

mgrinzPlayer commented 2 years ago

share a server for that on my webhost

If gzdoom servers can send the "hearbeat" to your server, and if you host some basic information about those servers: IP, current map/skill/players. My launcher could download and parse it. It could be simple text format (or json or xml format).

Does gzdoom have "dedicated server" feature? From what I observed, gzdoom is always "a player" when running as server.

The other way around would be to not close my launcher, write a code which would periodically gather data from boa.exe (gzdoom.exe) process then send those data to your server. And that means it will use some "suspicious" API from Windows (Kernel32!GetProcAddress, OpenProcess, ReadProcessMemory, VirtualQueryEx, etc. ) resulting in, 100% guarantee, getting false positive from AVs. Oh, and reading other process memory would require admin rights.

Or we could modify gzdoom source code and force it to store those data in a file, then my launcher can simply read those without using "suspicious API".

Edit: my last edit.

ColerXXX commented 2 years ago

Does gzdoom have "dedicated server" feature? From what I observed, gzdoom is always "a player" when running as server.

Exactly, also once started the game is not possible to join while in progress, also it needs number of players to be set on launch parameters. Imho at the current state it would need a public chatroom where people can organize their game, something like https://www.radmin-vpn.com/ I'm quite sure there are better options out there, or an opensource one using OpenVPN + Discord. like https://github.com/crnlc/PlayHide which has been discontinued unfortunately, it was quite good.

x3003 commented 2 years ago

I'm quite sure there are better options out there, or an opensource one using OpenVPN + Discord.

Well, they have a dedicated lobby and chat in 0AD. Dunno how they do it, but it works and w/o discord.

ColerXXX commented 2 years ago

^^ nice, good to know!

Tormentor667 commented 2 years ago

Well, I am sure I can somehow set up a live chat on the webpage where people can meet up, I just wonder, if that works and if people are interested in something like that.

ColerXXX commented 2 years ago

I dunno if there's already a discord server but a dedicated section could be a good start. Then if it goes good also a live chat would worth it!

x3003 commented 2 years ago

Just checked out the odamex launcher. Look pretty good, but I dunno if this can be done for boa w/ gzdoom.

mgrinzPlayer commented 2 years ago

From doomwiki

The included launcher, OdaLaunch, is specifically designed for Odamex

Did anyone try Odamex with boa?

Tormentor667 commented 2 years ago

I am pretty sure that Odamex isn’t up to par with Gzdooms latest features

x3003 commented 2 years ago

Well, odamex doesn't seems to work (start) boa, but for coop mode in boa this is what you would want:

odamex_coop

ColerXXX commented 2 years ago

Yeah probably it could advertise servers when in "waiting for players" state so people can connect. Right

Tormentor667 commented 2 years ago

Still, I can only serve a webserver on a shared hosting for any kind of infrastructure but I can not program anything unfortunately. If mgrinzplayer can do it, I am open for something like this though.

mgrinzPlayer commented 2 years ago

I see @madame-rachelle is making some "discord" stuff to the main gzdoom branch https://github.com/coelckers/gzdoom/commits?author=madame-rachelle

But, still we can't join in-game: https://github.com/coelckers/gzdoom/blob/c98c93914d7f4f47a29de3b0944e3a874a45ac89/src/common/thirdparty/richpresence.cpp#L77

Unfortunately, I'm not familiar with doom engines (original and modern versions), ZScript and so on.

Tormentor667 commented 2 years ago

Then I'd simply suggest leaving it as is.

@mgrinzPlayer one more suggestion though: Currently the 3 possible choices for choosing a map to play are the map names itself. Can this be changed to "Chapter 1", "Chapter 2" and "Chapter 3" instead (of C3INTRO e.g.)?

madame-rachelle commented 2 years ago

The Discord stuff is not meant for in-game joining or anything like that, it's only to show people what you're playing.

mgrinzPlayer commented 2 years ago

@madame-rachelle, My knowledge about Discord is at "total noob" level - I used only web interface to exchange some information ("Half-Life: Black Mesa" official discord channel, bug report "xen levels" room, and "cheatengine" official channel). Do you still need other software to play "local multiplayer"? I thought Discordapp has build-in "virtual LAN". Or you have to install additional software, quickgoogling, maybe this: https://github.com/gyf304/lpvpn

@Tormentor667, on it

ColerXXX commented 2 years ago

@mgrinzPlayer nice one

madame-rachelle commented 2 years ago

You still need additional software. The software has to interface with the RPC. It's a pain in the butt, but it's actually quite simple to use.

mgrinzPlayer commented 2 years ago

Does lpvpn currently work with Discord? Anyone tried?

@Tormentor667, demo16 - "Chapter X" + "Enable Cheats" + translation

#: unit1.rscoopenablecheats
msgid "Enable Cheats"
msgstr ""
Tormentor667 commented 2 years ago

Perfect, works like a charm :)