userConnacancel

4,786 Commits over 1,371 Days - 0.15cph!

28 Days Ago
More cleanup, early out if disbaned or toxic
28 Days Ago
Some cleanup
28 Days Ago
More fixes
28 Days Ago
Unique handshake id tests - if we restart a handshake its possible two could be running in parallel, this'll stop that
28 Days Ago
Testing with handshake process fixes if host changes during handshakes...
28 Days Ago
First fix map override task when using launcharguments.map
29 Days Ago
Simplify networking options in header bar in editor - drop down options in Network for Simulate Lag, Lobby Privacy
29 Days Ago
Auto Switch to Best Host Candidate (#1705) Previously anyone could be assigned as a host when the host leaves. Now we'll score lobby members by their average ping and average connection quality to all other peers and use that score to determine who to give the host to. When a host leaves, we'll try to find a good candidate and set the owner immediately first, but if that fails, it'll happen the next time someone is automatically assigned to be the host. Previously, a connecting client could be assigned the host, but this is no longer the case as clients must be fully connected to be considered as a candidate. In addition, we'll periodically attempt to find and change to the best host candidate. This particular behavior can be disabled per project or per lobby.
29 Days Ago
Add server tags as LobbyInformation.Data
29 Days Ago
Remove this log
29 Days Ago
Some tidy up, improvements to algo
29 Days Ago
Convar
29 Days Ago
Multiplayer/networking project settings. Add option to change Destroy Lobby When Host Leaves and Auto Switch To Best Host. Defaults can be set in Project Settings but can be overriden via Lobby Config.
30 Days Ago
Some tidy up
30 Days Ago
Tests
30 Days Ago
Some cleanup - store current peer score
30 Days Ago
Fix sequence contains no elements
30 Days Ago
Periodically check if we're the best host candidate based on score - change owner if needed. When we are made the host, but we're still connecting, try to find another host candidate instead - if we can't find one then we can mark the lobby as toxic. Don't include self when trying to find best candidate in some situations. When SteamLobbySocket is disposed (we left or disconnected), try to find another candidate then also.
30 Days Ago
Remove debug stuff and improve host candidate scoring based on average ping and connection quality to other peers
30 Days Ago
Test convars
30 Days Ago
Some logging
30 Days Ago
Initial commit
30 Days Ago
Set same tags for dedicated servers as lobbies for consistency. Fixed case when connection doesn't close properly.
30 Days Ago
Instead of the host crashing and disconnecting when a connecting user tries to send handshake messages with the wrong state, log it to console and kick them with a debug reason
30 Days Ago
Try to create lobby socket - if it errors and returns null, back out of creating the lobby Make sure we clear removed and changed lists when resetting a string table Make sure we disconnect properly if failing to create a Steam Lobby
34 Days Ago
AcceptConnection and Kick Support (#1698) * Added INetworkListener.AcceptConnection( Connection, ref string reason ) and Connection.Kick( string reason ) * Added the kick command (can only be used by the host.)
34 Days Ago
Added the kick command (can only be used by the host.)
34 Days Ago
Added INetworkListener.AcceptConnection( Connection, ref string reason ) and Connection.Kick( string reason )
34 Days Ago
Lobby Config / Friends Only Lobbies (#1696) * Can optionally pass LobbyConfig to CreateLobby. Right now only contains LobbyPrivacy. Add LobbyPrivacy.FriendsOnly. * Separate overload as not to mess with any existing game packages * Make old CreateLobby method obsolete. Add LobbyConfig.MaxPlayers (defaults to package config.) Add LobbyConfig.Name (defaults to hostname for Dedicated Servers, or the owner's Steam Name for P2P) * Fix lobby config max players
34 Days Ago
On Dedicated Server you can pass a path to a .sbproj with +game to load a local project. Hotloading works as usual for connected clients.
34 Days Ago
Fix lobby config max players
35 Days Ago
Can optionally pass LobbyConfig to CreateLobby. Right now only contains LobbyPrivacy. Add LobbyPrivacy.FriendsOnly. Separate overload as not to mess with any existing game packages Make old CreateLobby method obsolete. Add LobbyConfig.MaxPlayers (defaults to package config.) Add LobbyConfig.Name (defaults to hostname for Dedicated Servers, or the owner's Steam Name for P2P)
35 Days Ago
Keep the accumulator. Fix the issue properly.
35 Days Ago
Revert to old fixed update logic. It appears the root issue was synchronized server time causing more fixed updates than it should due to Time.Now changing. This resolves the issue I was trying to solve initially, and also fixes Facepunch/sbox-issues#6906
35 Days Ago
Make old CreateLobby method obsolete. Add LobbyConfig.MaxPlayers (defaults to package config.) Add LobbyConfig.Name (defaults to hostname for Dedicated Servers, or the owner's Steam Name for P2P)
35 Days Ago
Separate overload as not to mess with any existing game packages
35 Days Ago
Can optionally pass LobbyConfig to CreateLobby. Right now only contains LobbyPrivacy. Add LobbyPrivacy.FriendsOnly.
35 Days Ago
Resolve Fixed Update Issues Resolves issue where Fixed Update would be called more times than it should be. Fixes issues such as in Marble Racer where if you had 500fps you'd move much faster than other players.
35 Days Ago
Add a comment r.e. timedelta and timescaling so we dont get confused later
35 Days Ago
Use this to avoid confusion
35 Days Ago
Remove test code
35 Days Ago
Some docs, clamp accumulator to maxSteps, use time.delta
35 Days Ago
Use RealTime.Delta here
35 Days Ago
Use RealTime.Delta its clamped
35 Days Ago
Add expected calls
35 Days Ago
Try to test hitches
35 Days Ago
Add unit test to test FixedUpdate class
35 Days Ago
Remove test logs
35 Days Ago
Test
36 Days Ago
Update documentation for methods in INetworkListener to indicate that they're only called for the host. Add net_fakelag ConVar. It's working for both Steam Networking Sockets and TCP / local instance. Can also be changed in the editor like this https://files.facepunch.com/conna/1b1211b1/sbox-dev_jpOfxVrwEr.mp4 Also commit this important file