Add more extensive multiplayer documentation

This commit is contained in:
Azzurite 2022-06-12 12:55:39 +02:00
parent 9bd8750739
commit dc16bba983
3 changed files with 30 additions and 9 deletions

View File

@ -60,7 +60,7 @@ If not, then the feature won't be added until we've finished all the features fr
### Why not? This is its own game, why not add features that weren't in Civ V?
Having a clear vision is important for actually getting things done.
Having a clear vision is important for actually getting things done.
Anyone can make a suggestion. Not all are good, viable, or simple. Not many can actually implement stuff.
@ -79,7 +79,7 @@ Yes! Windows and Linux versions are available at [itch.io](https://yairm210.itch
Unciv can also be installed on macOS, a guide on how to do that can be found [here](https://yairm210.github.io/Unciv/Other/Installing-on-macOS/).
If you have Java 8, and are familiar with the command line, there are (considerably smaller) JARs in [Releases](https://github.com/yairm210/UnCiv/releases) which you can run with `java -jar Unciv.jar`.
For Mac users, you'll need to add extra parameters, `java -XstartOnFirstThread -Djava.awt.headless=true -jar Unciv.jar`.
For Mac users, you'll need to add extra parameters, `java -XstartOnFirstThread -Djava.awt.headless=true -jar Unciv.jar`.
If you use Flatpaks, there's a Flatpak by [MayeulC](https://github.com/MayeulC) and you can know more about it [here](https://github.com/flathub/io.github.yairm210.unciv). Flathub link is available in the [Downloads](#downloads) section.
@ -91,7 +91,7 @@ I'm not planning on it.
It means paying money to Apple, yet another release path,
and since I don't have an IOS device it means I can't test it properly.
## How can I learn to play? Where's the wiki?
All the tutorial information is available in-game at menu > civilopedia > tutorials
@ -117,13 +117,13 @@ If anyone has any real legal sources, or can shed some light on the limits of wh
## Disclosure
Multiplayer takes advantage of Dropbox, which is *non-free software*, for syncing purposes.
[Multiplayer](https://yairm210.github.io/Unciv/Other/Multiplayer/) takes advantage of Dropbox, which is *non-free software*, for syncing purposes.
Single player does not use this feature.
## Downloads
| [![](https://static.itch.io/images/badge.svg)](https://yairm210.itch.io/unciv) | [![](https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png)](https://play.google.com/store/apps/details?id=com.unciv.app) | [![](https://fdroid.gitlab.io/artwork/badge/get-it-on.png)](https://f-droid.org/en/packages/com.unciv.app/) | [![](https://flathub.org/assets/badges/flathub-badge-en.svg)](https://flathub.org/apps/details/io.github.yairm210.unciv)
| [![](https://static.itch.io/images/badge.svg)](https://yairm210.itch.io/unciv) | [![](https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png)](https://play.google.com/store/apps/details?id=com.unciv.app) | [![](https://fdroid.gitlab.io/artwork/badge/get-it-on.png)](https://f-droid.org/en/packages/com.unciv.app/) | [![](https://flathub.org/assets/badges/flathub-badge-en.svg)](https://flathub.org/apps/details/io.github.yairm210.unciv)
|--- |--- |--- |--- |
## Run with Docker

View File

@ -70,7 +70,7 @@ object MultiplayerHelpers {
"Consider using a custom server instead."
).colspan(2).row()
dropboxWarning.addButton("Open Documentation") {
Gdx.net.openURI("https://yairm210.github.io/Unciv/Other/Hosting-a-Multiplayer-server/")
Gdx.net.openURI("https://yairm210.github.io/Unciv/Other/Multiplayer/#Hosting-a-Multiplayer-server")
}.colspan(2).row()
val checkBox = "Don't show again".toCheckBox()

View File

@ -1,4 +1,18 @@
# Hosting a Multiplayer server
# Multiplayer in Unciv
Multiplayer in Unciv is based on simple save file up/download, which is why it is based on a free Dropbox account by default. However, a lot of people use this default, so it is uncertain if you'll actually be able to access it consistently. See [Hosting a Multiplayer server](#Hosting-a-Multiplayer-server) for hosting your own server.
## How to play
0. Make sure you are all using the same multiplayer server (`Main Menu -> Options -> Multiplayer`)
0. Let all players send you their user ID (`Main Menu -> Multiplayer -> Copy user ID`).
* (Optional) Add those user IDs to your friend list (`Main Menu -> Multiplayer -> Friends list`).
0. In `Main Menu -> Start new game`, check `Online multiplayer` on the left. On the right, add more human players and input the user IDs of the players you want to play with. Press `Start game!`.
0. The game ID will be automatically put in your clipboard. (If you lost it, you can get it again from `Main Menu -> Multiplayer -> Copy game ID`). Send this game ID to the other players.
0. The other players need to go to `Main Menu -> Multiplayer -> Add multiplayer game` and enter the game ID you just sent them. They can then join the game from this multiplayer screen.
## Hosting a Multiplayer server
Due to certain limitations on Dropbox's API, with the current influx of players, we've many times reached the point that Dropbox has become unavailable.
@ -8,7 +22,7 @@ This guide is written for people with a moderate amount of technical knowledge a
If you're proficient in server hosting, there's another how-to for you at the end.
## How To
### How To
Before starting, you must have a Java JDK installed. You'll also have to download the [latest UncivServer.jar](https://github.com/yairm210/Unciv/releases/latest/download/UncivServer.jar).
@ -27,7 +41,7 @@ Please note:
* Devices *not* connected to the same server will *not* be able to participate in multiplayer games together
* In many places, your external IP address changes periodically. If that is the case, you either have to update the IP all the time or use something like a dynamic DNS service.
## How To for people with hosting experience
### How To for people with hosting experience
* Have a Java JDK installed
* Download the [latest UncivServer.jar](https://github.com/yairm210/Unciv/releases/latest/download/UncivServer.jar) (can also use that link to automatically update probably)
@ -36,3 +50,10 @@ Please note:
* Run it: `java -jar UncivServer.jar -p 8080 -f /some/folder/`
* It basically just does simple file storage over HTTP.
* Files are not cleaned automatically if a game ends or is deleted on the client-side
## Third-party (unofficial) software for hosting your own Unciv server
* https://github.com/Mape6/Unciv_server (Python)
* https://gitlab.com/azzurite/unciv-server (NodeJS)
* https://github.com/oynqr/rust_unciv_server (Rust)
* https://github.com/touhidurrr/UncivServer.xyz (NodeJS)