Skip to content
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

0.16 #144

Open
wants to merge 43 commits into
base: master
Choose a base branch
from
Open

0.16 #144

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
ffb7a91
add http test
endel Dec 22, 2023
106a899
bump version
endel Dec 22, 2023
339610c
drafting WebTransport support
endel Jan 14, 2024
3ebe124
rename WebTransportTransport to H3Transport
endel Jan 23, 2024
f607570
H3Transport: pass serverCertificateHashes if fingerprint has been pro…
endel Jan 25, 2024
bede151
wip H3Transport
endel Feb 5, 2024
cfd482b
sending and receiving messages
endel Feb 8, 2024
f4f9a0c
experimenting
endel Feb 26, 2024
64d110a
avoid errors when client leave the room
endel Mar 5, 2024
d903031
allow to reconnect using H3Transport
endel Mar 6, 2024
4a5556a
wip: unreliable
endel Mar 18, 2024
81ba87f
use @colyseus/schema 3.0. use msgpackr package instead of hardcoded n…
endel Jun 11, 2024
593c6a6
fixes msgpackr usage
endel Jun 11, 2024
5b1e803
fix tsc build
endel Jun 11, 2024
baa033f
refactoring
endel Jun 13, 2024
4908f28
fix decoding message
endel Jun 14, 2024
e4ffcaf
use forked @colyseus/msgpackr version
endel Jun 14, 2024
9ddc41e
add room.$ for state callbacks.
endel Jun 19, 2024
1b7ab83
expose getStateCallbacks from '@colyseus/schema'
endel Jun 19, 2024
cb927ea
don't initialize room.$. bump version
endel Jun 19, 2024
d60fb03
fix exposing getStateCallbacks() accepting Room as argument.
endel Jun 20, 2024
8ef4f8c
fix return type for getStateCallbacks()
endel Jun 20, 2024
26a0a47
bump versions
endel Jun 20, 2024
1ffdf8f
Merge branch 'master' into 0.16
endel Jun 26, 2024
2164ceb
Merge branch 'master' into 0.16
endel Jun 26, 2024
71f85ec
remove log during onMessage. bump version
endel Jun 26, 2024
ec9797b
expose 'SeatReservation' type
endel Jul 3, 2024
feab937
fixes msgpackr buffer usage
endel Jul 10, 2024
ead56ab
remove schema callbacks on room.removeAllListeners(). colyseus/colyse…
endel Jul 16, 2024
2b295e7
use getDecoderStateCallbacks
endel Jul 16, 2024
0b73339
Merge branch 'master' into 0.16
endel Jul 16, 2024
cda9cac
Merge branch 'webtransport' into 0.16
endel Jul 18, 2024
19a6355
raw example: fix state callbacks
endel Jul 19, 2024
15c6314
fix h3 / webtransport
endel Jul 19, 2024
8185228
h3-transport: read multiple length-prefixed messages at once
endel Jul 19, 2024
5d31274
h3-transport: send length-prefixed messages
endel Jul 19, 2024
c19ecf4
h3-transport: fixes sending and receiving 'varint' length prefixed me…
endel Jul 24, 2024
711032b
Merge branch 'master' into 0.16
endel Sep 3, 2024
d504d6d
use vitest
endel Nov 20, 2024
3817a0d
upgrade @colyseus/schema
endel Nov 20, 2024
2e9c8c9
inject package version on Client.VERSION
endel Nov 20, 2024
fde8a42
bump version
endel Nov 20, 2024
89eb9cc
use build/cjs for browser. bump version
endel Nov 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2015-2016 Endel Dreyer
Copyright (c) 2015-2024 Endel Dreyer

MIT License:

Expand Down
67 changes: 59 additions & 8 deletions dist/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<strong>Messages</strong><br>

<form id="form">
Endpoint: <input type="text" id="endpoint" value="ws://localhost:2567" /> <br />
Endpoint: <input type="text" id="endpoint" value="https://localhost:2567" /> <br />
Room name: <input type="text" id="room_name" value="my_room" /> <br />

Send data: <input type="text" id="message_type" value="" placeholder="messageType" />
Expand All @@ -26,6 +26,7 @@
<button onclick="create()">Create</button>
<button onclick="joinByLastId()">Join by last id</button>
<button onclick="getAvailableRooms()">List avaiable rooms</button>
<button onclick="sendRandomBytes()">Send random bytes</button>
<button onclick="closeConnection()">Close connection</button>
<button onclick="reconnect()">Re-join last closed connection</button>

Expand All @@ -37,24 +38,65 @@
}

function addListeners (room) {
const $ = Colyseus.getStateCallbacks(room);

console.log('joined!');
// room.onMessage("*", (type, message) => {
// console.log("received message:", type, "=>", message);
// });

room.onMessage("onJoin", () => {});
room.onMessage("*", (type, message) => {
console.log("received message:", type, "=>", message);
});

// listen to player "add" events
$(room.state).players.onAdd(function(player, sessionId) {
console.log("ADD PLAYER", player);

var el = document.createElement("div");
el.id = "player-" + sessionId;
el.style.pointerEvents = "none";
el.style.display = "block";
el.style.position = "absolute";
el.style.width = "10px";
el.style.height = "10px";
el.style.backgroundColor = "red";
// el.style.left = player.x + "px";
// el.style.top = player.y + "px";
document.body.appendChild(el);

$(player).onChange(function() {
el.style.left = player.x + "px";
el.style.top = player.y + "px";
});
});

// listen to player "remove" events
$(room.state).players.onRemove(function(player, sessionId) {
var el = document.getElementById("player-" + sessionId);
el.parentNode.removeChild(el);
});

room.onMessage("*", (type, message) => {
console.log("onMessage:", { type, message });
});

var onmousemove = function (event) {
room.sendUnreliable("move", { x: event.clientX, y: event.clientY });
// room.send("move", { x: event.clientX, y: event.clientY });
};

document.addEventListener("mousemove", onmousemove);

room.onLeave(function() {
console.log("LEFT ROOM", arguments);
document.removeEventListener("mousemove", onmousemove);
});

room.onError(function(code, message) {
console.log("on error:", {code, message});
});

// room.onStateChange(function(state) {
// console.log("state change: ", state.toJSON());
// });
room.onStateChange(function(state) {
// console.log("state change: ", state.toJSON());
});
}

function join () {
Expand Down Expand Up @@ -87,6 +129,15 @@
});
}

function sendRandomBytes() {
const bytes = new Uint8Array(32);
for (let i=0; i < bytes.length; i++) {
bytes[i] = Math.floor(Math.random() * 256);
}
console.log("sending bytes", Array.from(bytes));
room.sendBytes("bytes", bytes);
}

function getAvailableRooms() {
getClient().getAvailableRooms(document.getElementById('room_name').value).then((rooms) => {
console.log(rooms);
Expand Down
Loading