-
-
Notifications
You must be signed in to change notification settings - Fork 29
Added Server Browser and Lobby Server (#10, #45, #35), in-game chat (#8) and minor bug fixes (#36) #46
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
Open
AMacro
wants to merge
558
commits into
Insprill:master
Choose a base branch
from
AMacro:beta
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This was referenced Sep 22, 2024
Open
Open
Jarnster
pushed a commit
to Jarnster/dv-multiplayer
that referenced
this pull request
Nov 27, 2024
Fix project board link in the README
1e8fee4 to
48e900a
Compare
No longer enforced on client and server
Fixes to allow compilation, no testing/debugging
Only reset TicksSinceSync if a full sync has occurred Only process new physics packets
sync full health states
Changed PaintTheme registration and lookup to use PaintTheme objects instead of asset name strings throughout the API, lookup, and serialisation logic. Improved hash collision handling, modded theme discovery, and netId mapping. Updated related interfaces and serialisation/deserialisation code to use the new approach for consistency and reliability.
Enhanced TryGetNetId to detect and log hash collisions when registering cargo types. Improved logging messages for missing cargo types and successful registrations. Minor formatting adjustments for consistency.
Corrects the conditional to only capture item anchor offset when VR is not enabled, addressing inconsistencies related to camera direction and player loading status.
Introduces server-side validation for paint theme changes based on player proximity in NetworkedTrainCar. Refactors paint theme change packet sending for both client and server, and ensures paint theme updates are only processed if the player is close enough to the train car. Also updates related methods to use the new validation and syncing logic.
Changed CommonPitStopInteractionPacket.InteractionType from byte to PitStopStationInteractionType enum for improved type safety. Updated related method signatures and usages in NetworkedPitStopStation, NetworkClient, and NetworkServer. Also replaced car length calculations with cached CarLengthSq property for efficiency.
Registered 'dv-improved-job-overview' for client compatibility in ModCompatibilityManager. Commented out cargo type registration log in CargoTypeLookup to reduce log verbosity.
Registered the 'dv_f_spammer' mod for client-side compatibility in ModCompatibilityManager
Bumped API version to 1.0.0.0 and mod version to 0.1.13.0. Updated project files to reflect new versions, changed license to Apache-2.0 for the API, added VRTK reference, included README.md in MultiplayerAPI package, and updated release and info metadata.
Added rules to normalize line endings across the repository, enforcing CRLF for C#, .csproj, and .sln files, and setting text=auto for all files. This helps maintain consistent line endings in a Windows development environment.
Introduces NetworkedGenericSwitch to synchronise GenericSwitch states across players. Also adds player reach validation for interactions with controls.
Force awake logic only triggered for derailments or when the TrainCar is moving > `NetworkTrainsetWatcher.VELOCITY_THRESHOLD` Position updates for TrainCars are now only applied if the difference between current position and new position exceeds `POSITION_UPDATE_THRESHOLD`, reducing jitter when stationary.
Patch out of 'Point Set Traveller not moving even though velocity is:' logging
Refactor adding cash to cash registers
Removed unused grabbedHandlerLookup and updated lever handling logic in NetworkedPitStopStation. Improved logging and initialization flow for pit stop stations and cash registers. Added Tick property to CommonPitStopInteractionPacket and ensured it is set when sending interaction packets. Minor code style and logging improvements in NetworkClient and NetworkServer.
ModInfo now includes a trusted URL field and serialises mod lists as JSON for improved compatibility checks. The server browser details pane displays mod status with hyperlinks, and version checks now use a unified build version string.
Replaced usage of Multiplayer.LocalBuildInfo with MainMenuControllerPatch.MenuProvider.BuildVersionString for build version validation during login.
…string Changed the representation of required mods so it is correctly serialised to JSON, rather than serialising to a string containing JSON.
Previously, incompatible mods were ignored by returning null. Now, they are added to the localMods list.
Updated the project file to publicise DV.UIFramework.CollapsibleElement. Changed the Awake method from protected to public override in ServerBrowserElement and ServerBrowserPlaceholderElement due to new publicised protection levels.
Server browser now displays required and extra mods with compatibility status, including localised labels for OK, mismatch, missing, incompatible, and extra mods. UI elements for mod lists are collapsible and support hyperlinks. Locale keys and translations for new mod status labels were added. Refactored MainMenuControllerPatch to expose MainMenuControllerInstance for easier access.
Replaces modsContainer with detailsContent for mod elements, updates how mod groups are set up, and improves formatting for server details and mod labels.
Replaced hardcoded disconnect reason strings with localized values in ServerBrowserPane. Added separate localized 'yes' and 'no' responses for password required in server details. Updated Locale.cs and locale.csv to support new keys for these values.
Eliminates redundant display of the host details label in the server browser pane by appending only the server details string. This improves clarity and prevents repeated information in the server details section.
Updated references from 'gameParams' to 'GameParams' to match the correct property.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@Insprill
This is a consolidation PR that covers multiple issues.
Work is ongoing for #6 and #11.