Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to input the multiplayer server address manually #137

Closed
GGORG0 opened this issue Nov 15, 2023 · 7 comments
Closed

Add option to input the multiplayer server address manually #137

GGORG0 opened this issue Nov 15, 2023 · 7 comments

Comments

@GGORG0
Copy link

GGORG0 commented Nov 15, 2023

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.

I'd like to host a Tetris-only ( #136 ) private server and don't really want it to be visible to anyone on the server menu.

Describe the solution you'd like
A clear and concise description of what you want to happen.

A "connect manually" button in the server chooser menu that opens a popup that allows you to input the server host and port.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Well, none

Additional context
Add any other context or screenshots about the feature request here.

none

@pserwylo
Copy link
Member

Okay, got some time to work on this, thanks for your patience. Thoughts on this UX as a first cut?

image

I'm a little unhappy that this always shows immediately, even before any public servers have a chance to respond. But I also didn't want to have to add extra top level menu items. So it is nice that we kind of get this feature for free without having to make too many changes, as I'd consider it an expert feature at this point.

Another question: Any thoughts on how best to get a server up and running easily other than via docker or a .jar file from the retrowars-server project? Despite building this game, my experience of multiplayer games stops at the early 2000's, when we didn't have to worry about NAT or IP4 exhaustion yet (as end users). Therefore, the same binary which included the game would also act as the server. This is similar to the "Start local server" feature currently in the game. However, the mechanism to start a server from an Android device seems unlikely to work for two friends playing across the ocean via the public internet, as neither are likely to have public IPs. Do you have any desires on how to improve this?

Hopefully final question: I assume you'd like a "When starting a local server, let the host choose which games are allowed" type experience? That can be added, but will take a short while longer - though I don't think it is excessively difficult.

@pserwylo
Copy link
Member

Okay, so this is working well for the "Local server" setup:

image

Think I'll try to cut a release with all these features added.

@pserwylo
Copy link
Member

Release v0.32.0 has now been tagged with these features. I'll also push a new version of the Docker server image for those who wish to use it to start their own server limiting it to specific games.

F-Droid will pick up and build/release this in the coming days.

Thanks for your input. Any feedback you have on these features is very welcome.

@GGORG0
Copy link
Author

GGORG0 commented Jan 14, 2024

Thanks for your amazing work!
I will definitely submit one (or maybe even more!) servers hosted by me with the new game limit option. What are some other game combination ideas beside my original (just Tetris)?
Regarding your question about easier ways of hosting a server - there aren't really many. For the average user only a local server hosted on their own phone that works only on the LAN is the only option. For more advanced users who know Linux and self-hosting, they can either use port forwarding on their home router/firewall, use a tunnelling service like Ngrok.io or Playit.gg or (easiest) just buy a VPS in the cloud which will already have a public IP address and host it there.

Again, thanks a lot for taking the time to work on my issues and the entire game as a whole!

@pserwylo
Copy link
Member

I reckon missile command and asteroids goe well together. Mainly because they were the first two games I implemented and thus they are the best balanced.

Compare that to when you have Tempest vs Space Invaders, which is a terrible match. Playinf Space Onvaders, I can easily reach the same score as a good Tempest session, but it takes 10x as long and by then the competitor has lost interest and logged off.

In comparison, Snake, Breakout, and Space Invaders all have the same kind of limitations as to how fast you can score points, based on their mechanics. So perhaps they go well together.

@pserwylo
Copy link
Member

I will tag and push a new docker image tonight with these features. I forgot to do that yesterday so the current latest will not support this feature yet. Will post back here when done (likely in 10hrs or so from this post).

@pserwylo
Copy link
Member

pserwylo/retrowars:0.32.0 + pserwylo/retrowars:latest now tagged in docker hub.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants