RemoteAPI blocks connect from VRageRemoteClient with time disparity
Attempting to connect to previously working non-locally hosted game server via VRageRemoteClient fails post 1.191 update. Cause was thought to be change in game host's firewall. Problem tracing occurred after problem persisted post 1.192 release.
Local Client is in Timezone UTC-5.
Remote Host is in Timezone UTC-7.
Due to time being in the future, RemoteAPI blocks client connect.
Adjusting TZ to match remote host continues to cause connect to fail as remote host is 2 minutes behind NTP synced local client.
Setting local client local time to be prior to remote host's time allows RemoteAPI connection
- Force customers to determine remote game hosts server time and change their local computer time to match. Should be marked NOT FEASIBLE for the customer to be forced to modify local computer state to comply with currently arbitrary parameters.
- Force customers to ensure remote game server host's time is set correctly. Should be marked NOT FEASIBLE as remote hosting may not allow for direct computer access
- Transmit VRageRemoteClient time in UTC and compare as UTC on RemoteAPI allowing for suggested additional 10 minute disparity (local clock drift)
- Host time service on KeenSWH servers to have VRageRemoteClient poll for time "token" which can be validated on RemoteAPI connect if time validation is required for RemoteAPI.
- Remove time validation restriction on RemoteAPI
Reproduction Rate: 10 out of 10
Affected Version: 1.191 and greater
- Start up Dedicated Server on machine 1
- Start up VRageRemoteClient on machine 2
- Set time on machine 2 to be 1 minute ahead of machine 1
- Attempt connect to DS on machine 1 via VRageRemoteClient on machine 2
- DS log errors out with "Warning: Remote API - Invalid date from IP"