From eb82a985d1a097e0a95326a705deba3d23cd8b1d Mon Sep 17 00:00:00 2001 From: summetdev Date: Mon, 7 Sep 2020 19:59:55 +0300 Subject: [PATCH 1/7] added port field --- core/src/mindustry/ui/dialogs/HostDialog.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/ui/dialogs/HostDialog.java b/core/src/mindustry/ui/dialogs/HostDialog.java index 25300fc0b1..ee5d97977f 100644 --- a/core/src/mindustry/ui/dialogs/HostDialog.java +++ b/core/src/mindustry/ui/dialogs/HostDialog.java @@ -14,6 +14,7 @@ import static mindustry.Vars.*; public class HostDialog extends BaseDialog{ float w = 300; + TextField portField; public HostDialog(){ super("@hostserver"); @@ -39,6 +40,24 @@ public class HostDialog extends BaseDialog{ cont.row(); + cont.table(t -> { + t.add("@server.port").padRight(10); + portField = t.field(String.valueOf(Core.settings.getInt("port", port)), text -> { + Core.settings.put("port", Integer.parseInt(text)); + }).pad(8).grow().get(); + portField.setMaxLength(5); + portField.setValidator(text -> { + try { + int port = Integer.parseInt(text); + return port >= 1 && port <= 65535; + } catch(NumberFormatException e){ + return false; + } + }); + }).width(w).height(70f).pad(4).colspan(3); + + cont.row(); + cont.add().width(65f); cont.button("@host", () -> { @@ -48,7 +67,7 @@ public class HostDialog extends BaseDialog{ } runHost(); - }).width(w).height(70f); + }).width(w).height(70f).disabled(b -> !portField.isValid()); cont.button("?", () -> ui.showInfo("@host.info")).size(65f, 70f).padLeft(6f); @@ -63,7 +82,7 @@ public class HostDialog extends BaseDialog{ ui.loadfrag.show("@hosting"); Time.runTask(5f, () -> { try{ - net.host(Vars.port); + net.host(Core.settings.getInt("port", port)); player.admin(true); if(steam){ From 3caaadd68b7820c0f51888b3c9225e1e6c9b356a Mon Sep 17 00:00:00 2001 From: summetdev Date: Mon, 7 Sep 2020 20:45:57 +0300 Subject: [PATCH 2/7] unused import --- core/src/mindustry/ui/dialogs/HostDialog.java | 1 - 1 file changed, 1 deletion(-) diff --git a/core/src/mindustry/ui/dialogs/HostDialog.java b/core/src/mindustry/ui/dialogs/HostDialog.java index ee5d97977f..7962e46e10 100644 --- a/core/src/mindustry/ui/dialogs/HostDialog.java +++ b/core/src/mindustry/ui/dialogs/HostDialog.java @@ -3,7 +3,6 @@ package mindustry.ui.dialogs; import arc.*; import arc.scene.ui.*; import arc.util.*; -import mindustry.*; import mindustry.core.*; import mindustry.gen.*; import mindustry.ui.*; From 4d8bf876c26cb751d23639ba378f05273938a2a9 Mon Sep 17 00:00:00 2001 From: summetdev Date: Mon, 7 Sep 2020 20:55:41 +0300 Subject: [PATCH 3/7] :) --- core/assets/contributors | 1 + 1 file changed, 1 insertion(+) diff --git a/core/assets/contributors b/core/assets/contributors index ee8b77ddb9..ed908aac6f 100644 --- a/core/assets/contributors +++ b/core/assets/contributors @@ -89,3 +89,4 @@ Daniel Dusek DeltaNedas GioIacca9 SnakkiZXZ +Summet From 484f50d63099e715e62d1c4b8cbd8eb772221667 Mon Sep 17 00:00:00 2001 From: summetdev Date: Mon, 7 Sep 2020 21:10:47 +0300 Subject: [PATCH 4/7] help message refactor --- core/assets/bundles/bundle.properties | 2 +- core/assets/bundles/bundle_ru.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 6b9f8d5e82..f1f995f72e 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -168,7 +168,7 @@ server.kicked.customClient = This server does not support custom builds. Downloa server.kicked.gameover = Game over! server.kicked.serverRestarting = The server is restarting. server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[] -host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [lightgray]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[lightgray]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings. Note that public networks sometimes do not allow server discovery. +host.info = The [accent]host[] button hosts a server on specified port.\nAnybody on the same [lightgray]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[lightgray]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings. Note that public networks sometimes do not allow server discovery. join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] or [accent]global[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]If you want to connect to someone by IP, you would need to ask the host for their IP, which can be found by googling "my ip" from their device. hostserver = Host Multiplayer Game invitefriends = Invite Friends diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 2fb9106b6d..724dc3c775 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -166,7 +166,7 @@ server.kicked.customClient = Этот сервер не поддерживает server.kicked.gameover = Игра окончена! server.kicked.serverRestarting = Сервер перезапускается. server.versions = Ваша версия:[accent] {0}[]\nВерсия сервера:[accent] {1}[] -host.info = Кнопка [accent]Открыть сервер[] запускает сервер на порте [scarlet]6567[].\nЛюбой пользователь в той же [lightgray]локальной сети или WiFi[] должен увидеть ваш сервер в своём списке серверов.\n\nЕсли вы хотите, чтобы люди могли подключаться откуда угодно по IP, то требуется [accent]переадресация (проброс) портов[] и наличие [red]ВНЕШНЕГО[] WAN адреса (WAN адрес [red]НЕ должен[] начинаться с [red]10[][lightgray].x.x.x[], [red]100.64[][lightgray].x.x[], [red]172.16[][lightgray].x.x[], [red]192.168[][lightgray].x.x[], [red]127[][lightgray].x.x.x[])!\nКлиентам мобильных операторов нужно уточнять информацию в личном кабинете на сайте вашего оператора!\n\n[lightgray]Примечание: Если у кого-то возникают проблемы с подключением к вашей игре по локальной сети, убедитесь, что вы разрешили доступ Mindustry к вашей локальной сети в настройках брандмауэра. Обратите внимание, что публичные сети иногда не позволяют обнаружение сервера. +host.info = Кнопка [accent]Открыть сервер[] запускает сервер на указанном порте.\nЛюбой пользователь в той же [lightgray]локальной сети или WiFi[] должен увидеть ваш сервер в своём списке серверов.\n\nЕсли вы хотите, чтобы люди могли подключаться откуда угодно по IP, то требуется [accent]переадресация (проброс) портов[] и наличие [red]ВНЕШНЕГО[] WAN адреса (WAN адрес [red]НЕ должен[] начинаться с [red]10[][lightgray].x.x.x[], [red]100.64[][lightgray].x.x[], [red]172.16[][lightgray].x.x[], [red]192.168[][lightgray].x.x[], [red]127[][lightgray].x.x.x[])!\nКлиентам мобильных операторов нужно уточнять информацию в личном кабинете на сайте вашего оператора!\n\n[lightgray]Примечание: Если у кого-то возникают проблемы с подключением к вашей игре по локальной сети, убедитесь, что вы разрешили доступ Mindustry к вашей локальной сети в настройках брандмауэра. Обратите внимание, что публичные сети иногда не позволяют обнаружение сервера. join.info = Здесь вы можете ввести [accent]IP-адрес сервера[], найти доступные [accent]локальные[] и [accent]глобальные[] серверы для подключения.\nПоддерживаются оба многопользовательских режима: LAN и WAN.\n\n[lightgray]Если вы хотите подключиться к кому-то по IP-адресу, Вам нужно будет попросить IP-адрес у самого хоста. Хост может узнать IP-адрес своего устройства через Google запрос [accent]"my ip"[]. hostserver = Запустить многопользовательский сервер invitefriends = Пригласить друзей From e5dcca27f526304818619f20342d02cd07b34e5c Mon Sep 17 00:00:00 2001 From: Antsiferov Andrew Date: Sat, 12 Sep 2020 23:31:35 +0300 Subject: [PATCH 5/7] oh no --- core/assets/contributors | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/assets/contributors b/core/assets/contributors index 926b3d17d4..731248cd86 100644 --- a/core/assets/contributors +++ b/core/assets/contributors @@ -89,5 +89,5 @@ Daniel Dusek DeltaNedas GioIacca9 SnakkiZXZ -sk772 -Summet \ No newline at end of file +sk7725 +Summet From e390ee97ddb88c4302ecc1f08df2ae7df9bfce91 Mon Sep 17 00:00:00 2001 From: zethnest <16971676+zethnest@users.noreply.github.com> Date: Fri, 1 Jan 2021 13:11:34 +0800 Subject: [PATCH 6/7] Flexible port --- core/src/mindustry/net/Host.java | 13 +++++++++---- core/src/mindustry/net/NetworkIO.java | 6 +++++- core/src/mindustry/ui/dialogs/JoinDialog.java | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/core/src/mindustry/net/Host.java b/core/src/mindustry/net/Host.java index 123fdad341..fe80c879ce 100644 --- a/core/src/mindustry/net/Host.java +++ b/core/src/mindustry/net/Host.java @@ -14,20 +14,25 @@ public class Host{ public final String versionType; public final Gamemode mode; public final @Nullable String modeName; - public int ping, port = Vars.port; + public int ping, port; - public Host(int ping, String name, String address, String mapname, int wave, int players, int version, String versionType, Gamemode mode, int playerLimit, String description, String modeName){ + public Host(int ping, String name, String address, int port, String mapname, int wave, int players, int version, String versionType, Gamemode mode, int playerLimit, String description, String modeName){ this.ping = ping; this.name = name; this.address = address; - this.players = players; + this.port = port; this.mapname = mapname; this.wave = wave; + this.players = players; this.version = version; this.versionType = versionType; - this.playerLimit = playerLimit; this.mode = mode; + this.playerLimit = playerLimit; this.description = description; this.modeName = modeName; } + + public Host(int ping, String name, String address, String mapname, int wave, int players, int version, String versionType, Gamemode mode, int playerLimit, String description, String modeName){ + this(ping, name, address, Vars.port, mapname, wave, players, version, versionType, mode, playerLimit, description, modeName); + } } diff --git a/core/src/mindustry/net/NetworkIO.java b/core/src/mindustry/net/NetworkIO.java index 05bd69fe32..68e5f02f80 100644 --- a/core/src/mindustry/net/NetworkIO.java +++ b/core/src/mindustry/net/NetworkIO.java @@ -3,6 +3,7 @@ package mindustry.net; import arc.Core; import arc.util.*; import arc.util.io.*; +import mindustry.*; import mindustry.core.*; import mindustry.game.*; import mindustry.gen.*; @@ -80,6 +81,7 @@ public class NetworkIO{ buffer.put((byte)state.rules.mode().ordinal()); buffer.putInt(netServer.admins.getPlayerLimit()); + buffer.putInt(Core.settings.getInt("port", port)); writeString(buffer, description, 100); if(state.rules.modeName != null){ @@ -99,8 +101,10 @@ public class NetworkIO{ int limit = buffer.getInt(); String description = readString(buffer); String modeName = readString(buffer); + int hostPort = buffer.getInt(); + hostPort = hostPort != 0 ? hostPort : Vars.port; - return new Host(ping, host, hostAddress, map, wave, players, version, vertype, gamemode, limit, description, modeName.isEmpty() ? null : modeName); + return new Host(ping, host, hostAddress, hostPort, map, wave, players, version, vertype, gamemode, limit, description, modeName.isEmpty() ? null : modeName); } private static void writeString(ByteBuffer buffer, String string, int maxlen){ diff --git a/core/src/mindustry/ui/dialogs/JoinDialog.java b/core/src/mindustry/ui/dialogs/JoinDialog.java index 1c80418708..233dab599b 100644 --- a/core/src/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/mindustry/ui/dialogs/JoinDialog.java @@ -487,4 +487,4 @@ public class JoinDialog extends BaseDialog{ public Server(){ } } -} \ No newline at end of file +} From 009af9976ce9a4c175f95dde0f72dc695c620129 Mon Sep 17 00:00:00 2001 From: Antsiferov Andrew Date: Fri, 1 Jan 2021 21:56:14 +0300 Subject: [PATCH 7/7] Update contributors --- core/assets/contributors | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/assets/contributors b/core/assets/contributors index 9e0676f107..e11fc8b808 100644 --- a/core/assets/contributors +++ b/core/assets/contributors @@ -91,7 +91,6 @@ DeltaNedas GioIacca9 SnakkiZXZ sk7725 -Summet The Slaylord ThePlayerA YellOw139 @@ -112,4 +111,4 @@ Quick-Korx Catchears younggam simba-fs -RedRadiation \ No newline at end of file +RedRadiation