7,538 Commits over 3,653 Days - 0.09cph!
Allow client to bypass steam auth if client with same steamid is already connected
Update Facepunch.Steamworks
Send username with the auth ticket to server
Hopefully fix server sending wrong entity netid to destroy
Don't call SteamClient.SteamId on server either
Don't call SteamClient.Name on server :/
fuck it, don't auth clients, see if that works
Try installing SteamUser events on server
comment out SteamNetworkingSockets.InstallEvents(true);
init steam client on dedicated
Revert "Revert "Fixed server not being listed on master server""
This reverts commit ac8983ee949501dec4a241e3494a57fa7cc61de3.
Revert "Fixed server not being listed on master server"
This reverts commit c69b817d62fe90e17e748e190d055b7ee511ff20.
Revert "Update Facepunch.Steamworks"
This reverts commit 84c41430fb5b3d02b0aec082436df98ff971e331.
Update Facepunch.Steamworks
Ignore add block broadcast on server (so listen server doesn't add twice)
Add voxel block on server before broadcasting it
Fix incorrect client count in client info message
Don't wait until next frame to start server on dedicated, this is only needed when running listen server
don't bother waiting for assets and gamemode to load on dedicated server, this is just for loading screens
Create gamemode entity after starting game on dedicated server
Try calling SteamClient.Init on dedicated server (probably fixed in later Facepunch.Steamworks update though)
Refresh addons before starting game on dedicated server, hopefully fixes gamemodes not being found
Replicate entity model with replicate attribute instead of RPC
Remove functions to get assets from native, no longer used
Remove all unreal replication and interp code from base world entity and controllable entity
Remove remaining unreal networking code
Try to replicate static model entity's model import settings in managed instead of native
Fix human player to work with new networking, use human player for block builder gamemode
Add missing radius getter to sphere entity
Don't send destroy entity message for non replicated entity
Send destroy entity message after destroy events, gives entities chance to send any last messages
Add IsRegistered to BaseNetworkable, this allows generated rpc and netvar code to bail if entity hasn't spawned yet
Add naked version of citizen player model to cut down on load times when clothing isn't necessary
Add velocity and flags to server move RPC, allows human player to sync animation with movement velocity and movement state
Move InterpolationHelper to C#
Try to interp flying player movement
Lerp view angles properly
Move player movement replication and interpolation to BasePlayer. DefaultPlayer (basic flying player) uses client side movement replication by default.
Only log non zero netid
Zero out entity data offset if length is zero
Get block builder gamemode working again. Fix non background loaded textures not applying to material.
Only allow setting of Replicates on entity construction and before spawning
Fix movement replication for block builder player
Allow gamemodes to stall the loading screen
read/write voxel spawn data
Fix crash creating voxel map from serailized data
Serialize entity spawn data in world state as offset and length into binary blob
Allow client players to add blocks to voxel world
Don't load cubemaps in background, having issues with it
Replace networkable HasOwner with OwnerConnection, we care about the owning connection, not the direct entity owner
Also wait for assets loading in background before removing loading screen
await for huds to load before removing loading screen
Don't send netvar messages to host connection
Fix all gamemode compile errors after networking changes
Move AssetRef read/write into their own class instead of BinaryReaderWriterEx
Spawn menu system hud once and keep it around throughout the lifetime of game, show/hide when needed.
Only load menu system addon once at startup instead of every time going back to main menu, makes leaving game faster
async delay before starting server so that loading screen can show up straight away before any heavy loading is done
Call client rpc directly if the networkable is owned by local connection
Remove unreal replication for light entities
Make light properties replicated
Allow assets to be replicated with asset references
Fix NRE in AssetRef
Allow asset refs to have their own serialization depending on asset type
Add client.connection.status command
Handle client disconnect reason (only server timed out for now)
Add nameplates to NetTest
Add LocalClient class to deal with anything needing UPlayerController (a single player controller only exists on the local client now, not for every client on server)
BasePlayer has their own ViewAngles on the managed side but uses control rotation locally, this is so server can know player view angles without having a player controller
Orientate test player model with ViewRotation
Drop connection if client isn't following protocol
Bail from RPC if the networkable doesn't have replication enabled
When calling server rpc directly, set rpc client to local
Add control rotation back, needed until we remove unreal player controller shite
Call server rpc directly if has authority, Call client rpc directly if has no authority, Ignore multicast rpc if has no authority.
Player.ControlledByLocalClient handled by us instead of unreal
Remove control rotation and location stuff from player
Give players a replicated player state property. Send client info last so that client can create a local client object from local player state.
Add very basic client side movement replication to test player
Use player state as player owner so that IsOwnedBy passes
Attach model to test player so I can see where people are
Removing testing replicated properties from BaseEntity
BasePlayer replicates by default
Possess player locally using a client RPC in player state
Destroy player on client leave
Add/remove player state from world connection list when player state entity initializes or shutsdown