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

Added Server Browser and Lobby Server (#10, #45, #35), in-game chat (#8) and minor bug fixes (#36) #46

Open
wants to merge 206 commits into
base: master
Choose a base branch
from

Conversation

AMacro
Copy link

@AMacro AMacro commented Jul 14, 2024

@Insprill

This is a consolidation PR that covers multiple issues.

Work is ongoing for #6 and #11.

Insprill and others added 30 commits August 8, 2023 00:26
This is still very incomplete, and is just laying the groundwork for future progress.
Default remote IP can now be set through the settings

Popup/prompt for IP, port and password now auto-fill from the defaults
Separated server and client settings
update to network game
Now ignores blank/whitespace keys
Added the ability to join games using a Dynamic DNS URL, such as "example.tplinkdns.com".
The script then gets the host IP, and saves the "Direct IP" to the "Last Remote IP" section.
Fixed main menu highlight bug
added random server generation for testing
fixed gridview element layout
implemented a server data object
Updated API spec to include private_key requirements

Modularised the Rust server and compliance to new spec
Updated the PHP server to comply with new spec, additional config to allow flatfile and MySQL databases. Added ReadMe.

ServerBrowser major refactor. Now loads data from the lobby server
Added translations to locale.csv, Translations to be verified.
Server browser now works, as well as the host game panel.
When a multiplayer game starts, the game registers itself with the lobby server and continues to provide updates while the session is active. When the session deactivates the lobby server is notified to remove the game server.

More work required on GUI
ServerBrowserPane is now responsible for cleanup tasks and building the UI, rather than the RightPaneControllerPatch
AMacro added 30 commits January 4, 2025 12:16
ReconnectDelay * MaxConnectAttempts = 1000 * 10 == DisconnectTimeout
Future work:
Track chain / hose positions and send across network
Implement fix when a player disconnects while dragging a chain / hose
Car IDs removed before fast path cache can be cleared. Store ID and clean up properly.
Unsubscribe from events on return to main menu and trigger hiding of the GUI.
On world loaded grab the local player's name to prevent hitting the Steam API endpoints multiple times
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

Successfully merging this pull request may close these issues.

6 participants