a0481ed867
Route gameCommand traffic through WebRTC unreliable DataChannel
...
Socket.IO (TCP) holds back later packets while it retransmits a lost
one, which stalls worldUpdate delivery on lossy long-distance links —
exactly the pattern game state suffers worst from. WebRTC DataChannels
in unreliable mode (ordered:false, maxRetransmits:0) drop late packets
instead of queueing them, which is what we want for high-frequency
state sync.
Adds a per-user WebRTCTransport on top of the existing Socket.IO
connection. Socket.IO stays in charge of bootstrap, signaling
(SDP/ICE exchange), and control messages — only gameCommand payloads
get routed onto the unreliable channel once it's open. If WebRTC
fails to negotiate, gameCommand transparently falls back to
Socket.IO, so the game keeps working unchanged.
A new StatsLogger writes per-session JSONL events (session_start,
webrtc_ready with negotiation time, per-second stats with transport,
RTT samples, recv/send rates, seq gaps) so we can compare real-world
runs (e.g. Germany server <-> Korea client) instead of guessing.
URL flag ?webrtc=0 forces fallback for A/B testing.
scripts/webrtc-browser-test.js spins up a headless Chromium against
a freshly-started server and asserts the unreliable channel opens
and gameCommand traffic actually rides it.
2026-05-11 00:38:18 +00:00
logsol
3cb2e39a18
Makes singleton variable name of NotificationCenter lowercase
...
When we require a singleton, its instance name should be named
by lowercase, since it is not a class.
Relates to #128
2016-10-10 22:11:55 +02:00
logsol
ffc55a204a
Makes singleton object variable names of DomController first letter lowercase
...
When we require a singleton, its instance name should be named
by lowercase, since it is not a class.
Relates to #128
2016-10-10 21:50:03 +02:00
logsol
8b8093b771
Stops sending gameCommands between beginRound and clientReady
...
Listen for beginRound control command
to set client to be unready again
so it can load its new level without getting
any gameCommands like worldUpdate
2016-10-01 16:08:01 +02:00
logsol
a5f828a861
Adds NETWORK_LOG_FILTER setting to incoming network messages
2016-10-01 13:43:37 +02:00
logsol
c87997c774
fixes #147 , fixes #136 , is related to but doesnt entirely complete #144
2016-08-28 22:40:25 +02:00
Jeena
cad112419d
fixes initial level positioning
2015-04-19 16:06:23 +02:00
Jeena
0592e2524d
added gangsta level and tried to fix on new level
2015-04-12 18:08:11 +02:00
logsol
6b472dc134
added max user and refactored coordinator/serveruser a bit fixes #105
2015-03-03 23:43:15 +01:00
logsol
13af9ecb9c
worked a bit on menu top bar
2015-02-28 19:57:05 +01:00
logsol
60eae208a2
Added PointerLockManagement, Fixed layer positioning, added fps chart. fixes #120 , fixes #121 , fixes #123
2015-02-27 18:44:30 +01:00
logsol
4f3a53ca53
fixed #91 crash after round end
2014-12-27 22:35:26 +01:00
logsol
2b186be8af
use strict; fixes #83
2014-12-22 01:43:21 +01:00
Jeena
9e6c42f221
removed game.html, fixes #85
2014-06-28 23:43:58 +02:00
logsol
e7f4b6043d
Implemented local positioning as master - included punkbuster instead of webrtc for now. #49
2014-05-29 18:29:17 +02:00
logsol
c18384f502
begin Round Bug improvements, player renders doll. fixes #64
2014-05-24 17:39:19 +02:00
logsol
40e396fc23
implemented outgoing log filter
2014-03-31 05:01:05 +02:00
logsol
55256ada95
work in progress... worked on channel attributes and game goal. fixes #45 and references #48
2014-03-30 00:12:04 +01:00
Jeena
96bf9bffbd
NC refactoring
2014-03-17 21:45:40 +01:00
logsol
8730324a83
added rube knife, quickstart in menu lobby, cleaned up the lobby code a bit
2014-03-03 02:47:23 +01:00
Jeena
39bdac0d7b
fixed #57
2014-03-02 01:15:33 +01:00
Jeena
810a74a28b
fixed #58
2014-03-01 23:11:36 +01:00
logsol
672a46efa8
replaced NotificationCenter with Nc
2014-03-01 11:07:23 +01:00
Jeena
da913c4709
added lobby, nickname fixes #44 , channel name
2014-02-25 00:55:16 +01:00
Jeena
695008afd8
implemented clientReady and changed loading of assets, fixed unique ragdoll id
2014-02-24 17:41:01 +01:00
Jeena
89c5e4a5d8
fixed #38
2014-02-10 16:11:01 +01:00
Jeena
953159e6bd
implemented level load, more to do see #1
2014-01-29 03:24:08 +01:00
Jeena
4afc39081d
debug draw overlay, fullscreen
2014-01-16 16:09:17 +01:00
jeena
3aa89fc8d6
moved Protocol and NotificationCenter to Lib/Utilities
2013-12-27 01:36:01 +01:00
jeena
93e8133c89
fixed problems with first world update
2013-12-25 04:35:51 +01:00
logsol
efc5bc23b7
added live network console.logging feature for incoming and outgoing data on client
2013-12-13 01:01:16 +01:00
logsol
907ef49a53
checked paths for inheritance in client
2013-12-09 16:48:37 +01:00
Jeena
b4ef1203b1
added stats + ping, fixed box2d step size
2013-12-09 14:00:46 +01:00
Logsol
f07505bc20
Repaired Collision detecteion by adding one detector for each user - fixes #15
2013-01-06 01:40:46 +01:00
Logsol
a1e94e1ed0
added getSpawnedPlayersAndTheirPositions in order to get already spawned players to spawn the moment you join and spawn yourself. fixes #26
2013-01-05 22:38:29 +01:00
Logsol
fb5de522e5
Added spawning gameCommand logic
2013-01-05 08:19:49 +01:00
Logsol
c256f8a729
refactoring
2013-01-05 06:16:42 +01:00
Logsol
a10a7a7319
preliminary spawning of other players
2013-01-04 22:59:29 +01:00
Logsol
c4c48ab821
gameCommand implementation
2013-01-04 03:02:05 +01:00
Logsol
6219a82fbd
letting player spawn. hiding three.js canvas
2013-01-04 01:03:41 +01:00
Logsol
4767632f3d
removed worm
2013-01-03 23:45:59 +01:00
Logsol
0adbc2a10a
removed worm
2013-01-03 23:44:25 +01:00
Logsol
69fd43a900
fixed client removal, joining, etc.
2013-01-03 23:05:27 +01:00
Logsol
2183e70bd8
join success roundtrip added
2013-01-03 21:32:24 +01:00
logsol
c2ed00cb9b
added checkpoint output, setting up a channel
2012-08-31 19:23:51 +02:00
logsol
551fc943c9
replaced ){ with ) {
2012-07-28 15:00:59 +02:00
logsol
76daceb2e7
changed function XXX( to function XXX (
2012-07-28 13:54:49 +02:00
logsol
7e5eeb0a27
changed function( to function (
2012-07-28 13:38:31 +02:00
logsol
26f3d22db7
replaced all tabs with 4 spaces
2012-07-28 13:26:05 +02:00
logsol
5d11540c55
deactivated automatic client reconnection
2012-07-28 01:08:27 +02:00