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

Merge feature/updated-server-browser into beta branch #6

Merged
merged 31 commits into from
Jul 14, 2024
Merged
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
e23d522
Begin creating the server browser menu
Insprill Aug 8, 2023
c691e32
refactoring und updating
morm075 May 25, 2024
a6ab704
Merge branch 'feature/server-browser' into feature/server-browser-update
morm075 May 26, 2024
a4c8453
Continuing to update server browser
morm075 Jun 16, 2024
af9cd6d
Minor fixes and improvements
AMacro Jun 16, 2024
0455990
Merge branch 'updated-server-browser' into updated-server-browser
AMacro Jun 16, 2024
bcf5735
Merge pull request #1 from AMacro/updated-server-browser
morm075 Jun 16, 2024
81aa6ba
Minor adjustments and commenting
morm075 Jun 18, 2024
6e721e5
added button icons
AMacro Jun 20, 2024
c66ee37
minor correction
morm075 Jun 22, 2024
d236a90
PHP and Rust servers implemented
AMacro Jun 22, 2024
0e373f4
Merge branch 'updated-server-browser' of https://github.com/morm075/d…
AMacro Jun 22, 2024
c190545
another correction
morm075 Jun 22, 2024
4b2c6bb
Fixed SSL compilation issues
AMacro Jun 23, 2024
76f5aee
Merge branch 'updated-server-browser' of https://github.com/morm075/d…
morm075 Jun 23, 2024
492938e
Update Read Me.md
AMacro Jun 23, 2024
94f344f
Improved servers and server browser code
AMacro Jun 27, 2024
8329b63
Updates to locale.csv
morm075 Jun 30, 2024
a7ae049
Server browser and lobby server working
AMacro Jun 30, 2024
499dacf
Merge branch 'updated-server-browser' of https://github.com/morm075/d…
AMacro Jun 30, 2024
0fa44a6
Minor UI fixes and version update
AMacro Jun 30, 2024
e5051da
Updated default server to https
AMacro Jul 1, 2024
eb3b948
Refactored server browser for consistency
AMacro Jul 1, 2024
6e8df46
Added auto refresh
AMacro Jul 6, 2024
a99179a
Server details displayed in pane
AMacro Jul 6, 2024
86f8245
Updated translations for server browser details pane
AMacro Jul 6, 2024
30c5988
Fixed translation issue
AMacro Jul 6, 2024
252745d
Updated default server browser text.
AMacro Jul 6, 2024
9925783
General tidy up and QoL for server browser
AMacro Jul 13, 2024
00359ad
Bug fixes for lobby server redirects
AMacro Jul 13, 2024
2458ed2
Merge pull request #3 from morm075/updated-server-browser
AMacro Jul 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added auto refresh
Once the first refresh has been done, auto refresh will occur every 30 seconds.
Refresh can no longer be spammed and will be locked out for 10 seconds following the last refresh (auto or manual)
AMacro committed Jul 6, 2024
commit 6e8df4677bf4d4b1b00e7084bf17a79f6d5ad87e
38 changes: 34 additions & 4 deletions Multiplayer/Components/MainMenu/ServerBrowserPane.cs
Original file line number Diff line number Diff line change
@@ -45,7 +45,12 @@ public class ServerBrowserPane : MonoBehaviour
private ButtonDV buttonRefresh;
private ButtonDV buttonDirectIP;


private bool serverRefreshing = false;
private bool autoRefresh = false;
private float timePassed = 0f; //time since last refresh
private const int AUTO_REFRESH_TIME = 30; //how often to refresh in auto
private const int REFRESH_MIN_TIME = 10; //Stop refresh spam

//connection parameters
private string ipAddress;
@@ -90,6 +95,24 @@ private void OnDisable()
this.SetupListeners(false);
}

private void Update()
{

timePassed += Time.deltaTime;

if (autoRefresh && !serverRefreshing)
{
if (timePassed >= AUTO_REFRESH_TIME)
{
RefreshAction();
}
else if(timePassed >= REFRESH_MIN_TIME)
{
buttonRefresh.ToggleInteractable(true);
}
}
}

private void CleanUI()
{
GameObject.Destroy(this.FindChildByName("Text Content"));
@@ -113,7 +136,7 @@ private void BuildUI()

GameObject serverWindow = this.FindChildByName("Save Description");
serverWindow.GetComponentInChildren<TextMeshProUGUI>().textWrappingMode = TextWrappingModes.Normal;
serverWindow.GetComponentInChildren<TextMeshProUGUI>().text = "Server browser not <i>fully</i> implemented.<br><br>Dummy servers are shown for demonstration purposes only.<br><br>Press refresh to attempt loading real servers.";
serverWindow.GetComponentInChildren<TextMeshProUGUI>().text = "Server browser not <i>fully</i> implemented.<br><br>Dummy servers are shown for demonstration purposes only.<br><br>Press refresh to attempt loading real servers.<br>After pressing refresh, auto refresh will occur every 30 seconds.";

// Update buttons on the multiplayer pane
GameObject goDirectIP = this.gameObject.UpdateButton("ButtonTextIcon Overwrite", "ButtonTextIcon Manual", Locale.SERVER_BROWSER__MANUAL_CONNECT_KEY, null, Multiplayer.AssetIndex.multiplayerIcon);
@@ -176,14 +199,18 @@ private void RefreshAction()
if (serverRefreshing)
return;

serverRefreshing = true;
buttonJoin.ToggleInteractable(false);


if (selectedServer != null)
{
serverIDOnRefresh = selectedServer.id;
}

serverRefreshing = true;
autoRefresh = true;
buttonJoin.ToggleInteractable(false);
buttonRefresh.ToggleInteractable(false);

StartCoroutine(GetRequest($"{Multiplayer.Settings.LobbyServerAddress}/list_game_servers"));

}
@@ -429,9 +456,12 @@ IEnumerator GetRequest(string uri)
serverIDOnRefresh = null;
}

serverRefreshing = false;

}
}

serverRefreshing = false;
timePassed = 0;
}

private static void ShowOkPopup(string text, Action onClick)
2 changes: 1 addition & 1 deletion locale.csv
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ sb/join_game__tooltip,The tooltip shown when hovering over the 'Join Server' but
sb/join_game__tooltip_disabled,The tooltip shown when hovering over the 'Join Server' button.,Select a game to join.,,,,,,,,,,,,,,,,,,,,,,,,
sb/refresh,refresh,Refresh,Опресняване ,刷新 ,重新整理 ,Obnovit ,Opdater,Vernieuwen,virkistää,Rafraîchir,Aktualisierung,ताज़ा करना,Frissítés,ricaricare,リフレッシュ,새로 고치다,Forfriske,Odświeżać,Atualizar ,Atualizar ,Reîmprospăta,Обновить,Obnoviť,Actualizar,Uppdatera,Yenile,Оновити
sb/refresh__tooltip,The tooltip shown when hovering over the 'Refresh Server' button.,Refresh server list.,Обновяване на списъка със сървъри. ,刷新服务器列表。 ,刷新伺服器清單。 ,Obnovit seznam serverů. ,Opdater serverliste.,Vernieuw de serverlijst.,Päivitä palvelinluettelo.,Actualiser la liste des serveurs.,Serverliste aktualisieren.,सर्वर सूची ताज़ा करें.,Szerverlista frissítése.,Aggiorna l'elenco dei server.,サーバーリストを更新します。,서버 목록을 새로 고칩니다.,Oppdater serverlisten.,Odśwież listę serwerów.,Atualizar lista de servidores.,Atualizar lista de servidores. ,Actualizează lista de servere.,Обновить список серверов.,Obnoviť zoznam serverov.,Actualizar la lista de servidores.,Uppdatera serverlistan.,Sunucu listesini yenileyin.,Оновити список серверів.
sb/refresh__tooltip_disabled,Unused,,,,,,,,,,,,,,,,,,,,,,,,,,
sb/refresh__tooltip_disabled,Unused,Refreshing, please wait...,,,,,,,,,,,,,,,,,,,,,,,,,
sb/ip,IP popup,Enter IP Address,Въведете IP адрес,输入IP地址 ,輸入IP位址 ,Zadejte IP adresu ,Indtast IP-adresse,Voer het IP-adres in,Anna IP-osoite,Entrer l’adresse IP,IP Adresse eingeben,आईपी ​​पता दर्ज करें,Írja be az IP-címet,Inserire Indirizzo IP,IPアドレスを入力してください,IP 주소를 입력하세요,Skriv inn IP-adresse,Wprowadź adres IP,Digite o endereço IP ,Introduza o endereço IP ,Introduceți adresa IP,Введите IP-адрес,Zadajte IP adresu,Ingrese la dirección IP,Ange IP-adress,IP Adresini Girin,Введіть IP-адресу
sb/ip_invalid,Invalid IP popup.,Invalid IP Address!,Невалиден IP адрес! ,IP 地址无效! ,IP 位址無效! ,Neplatná IP adresa! ,Ugyldig IP-adresse!,Ongeldig IP-adres!,Virheellinen IP-osoite!,Adresse IP invalide,Ungültige IP Adresse!,अमान्य आईपी पता!,Érvénytelen IP-cím!,Indirizzo IP Invalido!,IP アドレスが無効です!,IP 주소가 잘못되었습니다!,Ugyldig IP-adresse!,Nieprawidłowy adres IP!,Endereço IP inválido! ,Endereço IP inválido! ,Adresă IP nevalidă!,Неверный IP-адрес!,Neplatná IP adresa!,¡Dirección IP inválida!,Ogiltig IP-adress!,Geçersiz IP adresi!,Недійсна IP-адреса!
sb/port,Port popup.,Enter Port (7777 by default),Въведете порт (7777 по подразбиране) ,输入端口(默认为 7777) ,輸入連接埠(預設為 7777) ,Zadejte port (ve výchozím nastavení 7777),Indtast port (7777 som standard),Poort invoeren (standaard 7777),Anna portti (oletuksena 7777),Entrer le port (7777 par défaut),Port eingeben (Standard: 7777),पोर्ट दर्ज करें (डिफ़ॉल्ट रूप से 7777),Írja be a portot (alapértelmezés szerint 7777),Inserire Porta (7777 di default),ポートを入力します (デフォルトでは 7777),포트 입력(기본적으로 7777),Angi port (7777 som standard),Wprowadź port (domyślnie 7777),Insira a porta (7777 por padrão) ,Introduza a porta (7777 por defeito) ,Introduceți port (7777 implicit),Введите порт (7777 по умолчанию),Zadajte port (predvolene 7777),Introduzca el número de puerto(7777 por defecto),Ange port (7777 som standard),Bağlantı Noktasını Girin (varsayılan olarak 7777),Введіть порт (7777 за замовчуванням)