Johannes Berthel
e5a196a42b
implemented feedback
2021-04-06 18:54:45 +02:00
Johannes Berthel
4aa082d83b
Merge branch 'develop' into feature/player-companion
2021-04-02 23:40:30 +02:00
Johannes Berthel
c07079051a
transmit companion to remote players
2021-04-02 21:21:11 +02:00
kharhamel
88cc15cd02
FEATURE: editing a room in the admin trigger a refresh system
2021-04-02 15:22:02 +02:00
kharhamel
fe8c75610d
FIX: player anims correctly stop on the idle frame
2021-03-11 16:21:02 +01:00
David Négrier
8fcc1534d8
Fixing let/const in Admin
2021-01-18 15:31:19 +01:00
David Négrier
d1222e4440
Refactoring admin messages
2021-01-18 15:07:40 +01:00
Gregoire Parant
b1f8522c05
Create ban feature by admin console
2021-01-15 03:19:58 +01:00
David Négrier
ea3aa3d128
Reimplementing ban/unban/messages
2020-12-11 12:23:50 +01:00
David Négrier
24cb85cc7c
Adapting admin connection to pusher.
...
Done: onUserLeave / onUserEnter
To be done: ban / unban
2020-12-10 17:46:15 +01:00
David Négrier
5d188e51b2
Cleanup of useless files
2020-12-04 17:26:12 +01:00
David Négrier
a19edd4dc1
Fixing reconnection to server on back failure
2020-12-03 16:39:44 +01:00
David Négrier
4c1e566a6c
Adding a Pusher container as a middleware/dispatcher between front and back
2020-11-26 17:53:30 +01:00
kharhamel
9b64a970b5
FIX: remove the ping and pong overrides server side in favor of and idleTimeout and added a manual ping client side
2020-11-10 18:26:46 +01:00
kharhamel
85f2dabe6c
FIX: the server now closes the socket after 30s of no pong
2020-11-09 12:12:52 +01:00
kharhamel
b1d2543631
improvment: added prometheus metrics for the number of groups in a room
2020-10-30 15:23:50 +01:00
David Négrier
b7854dfb90
When a user moves, do not trigger group creation
...
In order to avoid triggering group creation when walking next to someone we should avoid creating a group unless the user stops next to the other members of the group.
2020-10-22 16:15:30 +02:00
Gregoire Parant
3a565362a2
Simple limit connexion in room
2020-10-21 23:45:08 +02:00
Gregoire Parant
e973921390
Fix admin tags
...
- Fix get size group
- Fix admin tags
- Fix texture already used
2020-10-21 17:22:17 +02:00
David Négrier
78a4bf3189
Adding custom character textures
2020-10-20 17:42:36 +02:00
arp
75d9ed8dfa
implemented the admin websocket
...
now send data
2020-10-19 14:23:50 +02:00
David Négrier
d098a1b8db
The server now sends regular ping requests to keep connections alive
2020-10-15 13:53:59 +02:00
arp
a6a51caa93
now fetch the tags from the admin into the nodejs back
2020-10-14 16:50:42 +02:00
David Négrier
98bda49d7e
Get tags from the admin
...
And uses tag "admin" to choose whether to display the console or not
2020-10-14 11:07:34 +02:00
David Négrier
ce93e5bbaa
Fixing the way rights are sent to the admin (now sending organization/world/room)
2020-10-14 10:37:00 +02:00
arp
d98efc0433
lint fixes
2020-10-13 16:23:49 +02:00
arp
02c193a262
rewrote the authorisation flow: give more responsability to gameManager and less to gameScene
2020-10-12 16:45:09 +02:00
arp
0b78eb6277
temp
2020-10-06 15:37:00 +02:00
David Négrier
5de2f61231
Adding back authentication to uws websocket
2020-09-30 10:12:40 +02:00
David Négrier
53c6c2bc30
Fixing benchmark
2020-09-29 17:24:16 +02:00
David Négrier
9f3577286d
Merge branch 'develop' of github.com:thecodingmachine/workadventure into uws
...
# Conflicts:
# back/src/Controller/AdminController.ts
# back/src/Controller/AuthenticateController.ts
# back/src/Controller/IoSocketController.ts
# back/src/Controller/MapController.ts
# benchmark/index.ts
# front/src/Connexion/RoomConnection.ts
2020-09-29 17:12:28 +02:00
David Négrier
b485c9bf46
Switching WebRTC to protobuf + uws
2020-09-29 16:01:22 +02:00
David Négrier
6a4c0c8678
Migrating to uWS
2020-09-28 18:52:54 +02:00
arp
3f9659ef3c
improvments
2020-09-28 15:40:34 +02:00
David Négrier
23cea1c835
Migrating position notification into the User class
2020-09-25 15:25:06 +02:00
David Négrier
892d1555b8
Adding "dump" controller and fixing issue with groups in PositionNotifier by delegating the PositionNotifier.updatePosition call to groups themselves
2020-09-25 13:48:02 +02:00
David Négrier
24a6cd7f8e
Switched ITEM_EVENT to protobuf
2020-09-24 17:24:37 +02:00
David Négrier
d7209d8864
Migrating messages locally into back and front
2020-09-24 11:16:08 +02:00
David Négrier
b4f971c501
Switched group position to protobuf
2020-09-24 10:05:16 +02:00
David Négrier
76d3779438
Moved GroupUpdateMessage to protobuf
2020-09-21 11:24:03 +02:00
David Négrier
b148ca3708
Linting
2020-09-18 18:16:26 +02:00
David Négrier
7826b2ea8d
Fixing Docker build images to add new messages directory
2020-09-18 17:22:45 +02:00
David Négrier
df0636c513
Migrating user position messages to protobuf
2020-09-18 15:51:15 +02:00
David Négrier
e9ca8721a6
Migrating userId to "int32" to save some space and adding userMoves message in protobuf
2020-09-18 13:57:38 +02:00
David Négrier
f6458a8335
Removing useless group callbacks at the World level
2020-09-16 16:13:47 +02:00
David Négrier
f5f9dcac04
Making groups part of zones
2020-09-16 16:06:43 +02:00
David Négrier
3a9196fb82
Merge
2020-09-16 11:41:03 +02:00
David Négrier
d24ec0bd75
Plugin PositionNotifier into the main application.
2020-09-15 16:21:41 +02:00
David Négrier
f8d462b0d7
Fixing "any" type
2020-09-15 10:10:35 +02:00
David Négrier
9b702c75e3
Adding batched messages + the notion of notifier / zones (not plugged in the system yet)
2020-09-15 10:06:11 +02:00
David Négrier
b37a8f63be
Moved benchmark to its own directory and added multicore testing + a README
2020-09-11 09:56:05 +02:00
David Négrier
df7b5cc2e3
Adding a "silent" notion (triggered in Jitsi meets)
2020-08-31 14:03:40 +02:00
David Négrier
fca93663b4
Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
2020-08-24 18:15:44 +02:00
David Négrier
27ffb6b13d
Refactoring SimplePeer code: splitting Peer instantiation into 2 subclasses (VideoPeer and ScreenSharingPeer). This leads to way leaner code.
2020-08-20 16:56:10 +02:00
David Négrier
894f7c8009
Removing useless roomID parameter in WebRtcSignal message
2020-08-20 15:21:07 +02:00
David Négrier
0119534283
First version of screen-sharing that works when a user is joining a group after screen sharing begun.
2020-08-20 00:05:00 +02:00
David Négrier
6c5772e849
Fixing typipng in back
2020-08-18 15:31:42 +02:00
Gregoire Parant
a8f27e6084
Create event to start webrtc screen charing
2020-08-17 23:54:26 +02:00
David Négrier
6b970adc6c
Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
...
# Conflicts:
# front/src/Phaser/Game/GameScene.ts
# front/src/Phaser/Player/Player.ts
# front/src/index.ts
# front/yarn.lock
2020-08-17 22:51:37 +02:00
David Négrier
84529d6e99
Propagating customized sprites all over the game
2020-07-28 17:45:55 +02:00
David Négrier
ee612f6585
Adding event support to items
2020-07-27 22:36:58 +02:00
David Négrier
31846d1640
Using a Set for groups
2020-06-29 22:21:11 +02:00
David Négrier
4fee1ac206
Refactoring World and Group to use Map and Set instead of arrays
2020-06-29 22:10:23 +02:00
David Négrier
9bdcc9da98
Deleting world when empty.
2020-06-29 19:14:54 +02:00
David Négrier
928e486de5
Fixing token management
2020-06-10 12:32:39 +02:00
David Négrier
a373626e24
Removing all "any" from back.
...
To do this, I used generic-type-guard package which generates both an interface AND a valid type guard from code.
With this, we are 100% sure that the messages we receive are validated at runtime!
The client cannot pass us an object that is invalid! \o/
2020-06-09 23:07:19 +02:00
David Négrier
ac0b7a7361
Turning let into const where applicable
2020-06-09 15:54:54 +02:00
Gregoire Parant
0c9cbca765
Use userId
generated by back end in all message
2020-05-23 15:04:25 +02:00
David Négrier
ab798b1c09
Changing the "Point" notion to add a notion of "moving" in addition to the notion of direction.
...
Also, refactoring JOIN_ROOM event to add complete position.
2020-05-22 23:04:45 +02:00
David Négrier
fb8d7b5d59
Removing dead code
2020-05-19 19:53:26 +02:00
David Négrier
125a4d11af
Refactored and optimized messages
...
Now, when a user moves, only his/her position is sent back to the other users. The position of all users is not sent each time.
The messages sent to the browser are now:
- the list of all users as a return to the join_room event (you can send responses to events in socket.io)
- a "join_room" event sent when a new user joins the room
- a "user_moved" event when a user moved
- a "user_left" event when a user left the room
The GameScene tracks all these events and reacts accordingly.
Also, I made a number of refactoring in the classes and removed the GameSceneInterface that was useless (it was implemented by the LogincScene for no reason at all)
2020-05-19 19:11:12 +02:00
David Négrier
e934015d87
Refactoring searchClientById
...
searchClientById was scanning through all open sockets to find the right one (which is inefficient if we have many).
Instead, I created a new Map that directly maps ids to sockets.
Furthermore, this solves a long-standing issue (when a socket is disconnected, we cannot find it anymore in the sockets list but it is still available in the disconnect callback from the map)
As a result, we should not have any remaining circles any more.
2020-05-18 18:33:04 +02:00
David Négrier
87707bc814
Removing broken import
2020-05-16 15:51:00 +02:00
David Négrier
b20357c1ee
Removing the Message class and merging it with MessageUserPosition (since it is only ever used it in MessageUserPosition)
...
Taking advantage of the TypeScript Constructor Assignment too to reduce the amount of code!
2020-05-16 15:44:45 +02:00
David Négrier
3b6ace03fa
Getting rid of roomId in Message class (this is not needed since all messages sent are for the room we are currently in)
2020-05-16 00:19:27 +02:00
David Négrier
cdfa9acf01
JoinRoom now ONLY sends the roomId.
2020-05-15 23:24:04 +02:00
David Négrier
b80e3e07d8
Sending player details (name + character selected) on connection
2020-05-15 22:49:50 +02:00
David Négrier
fff0e13a2e
More code removal
2020-05-15 22:09:21 +02:00
David Négrier
4e745f20f7
More code removal
2020-05-15 22:08:53 +02:00
David Négrier
4de552437d
Completely getting rid of "userid"
...
Previously, userid was generated by the "/login" route and passed along.
This commit completely removes the uuid "userid" (and disables the LoginController too and any Jwt check).
"userid" is replaced by the "socket id" of the connection.
So a user is now identified using a socket id, which is unique for a given connection.
2020-05-14 23:20:43 +02:00
David Négrier
4cca1c1e58
Displaying circle on join
...
So far, someone joining a map would not see the circles of groups already formed until someone moves in the group (because the "circle_moved_or_updated" event was not fired when someone arrives)
This commit fixes this behaviour. Someone entering a room will receive an event for each and every group currently formed.
2020-05-13 23:11:10 +02:00
David Négrier
11972555ee
More detailed error log to debug disconnect issue
2020-05-13 22:11:05 +02:00
gparant
bd2ffde4c4
Fix CI lint
2020-05-11 20:55:17 +02:00
gparant
099961b818
Delete params not used
2020-05-11 13:19:48 +02:00
gparant
e35c188854
Fix update world back end and deleting group in front end
2020-05-11 13:17:02 +02:00
gparant
f4af824cf9
Fix error mapping refresh in back & the end of this feature development
2020-05-10 23:49:08 +02:00
gparant
8b9c36e3be
Refactor leave and join room
2020-05-10 19:54:41 +02:00
gparant
8a91190d8c
Change to update world by scene and room id
2020-05-10 19:45:17 +02:00
David Négrier
c59d693f6e
Merge pull request #83 from thecodingmachine/cleanup_rename_frame
...
Cleanup: renaming "frame" to "character"
2020-05-08 16:21:16 +02:00
David Négrier
e4824fe34d
Merge pull request #81 from thecodingmachine/display_groups
...
Adding the display of a circle around the group
2020-05-08 16:20:56 +02:00
David Négrier
492196b333
Cleanup: renaming "frame" to "character"
...
The "frame" variable actually contains a string pointing to the character selected.
It has nothing to do with a frame which is usually a particular image in an animation.
I'm renaming the variable accross the application to avoid confusion.
2020-05-08 15:18:22 +02:00
gparant
41f5b5a1f6
Fix shares information to enter into Webrtc room.
...
- Refactor share position in world class.
- Update selects a client to send information about connecting WebRtc room.
2020-05-08 11:54:47 +02:00
David Négrier
02e6b50b16
Adding the display of a circle around the group
...
This PR adds the display of a circle around groups. This is useful to view where you need to go to speak to someone but also to debug.
Note: implementation is suboptimal, relying on a "graphics" object that is known to be slow. In the future, we need to use a circle as a sprite instead.
2020-05-08 00:35:36 +02:00
gparant
5a6415607d
Send event and play animation with user frame
2020-05-06 01:50:01 +02:00
gparant
b65e37c468
Name of map users
...
- Add name on user
- Delete NonPlayer class not used
2020-05-03 22:24:14 +02:00
David Négrier
9c32c930a0
Merge
2020-05-03 17:47:54 +02:00
David Négrier
3b27f8b000
Making the group radius distinct from the minimum distance to connect 2 players
...
Also, changed default settings from 160px for Group Radius to 120px
(minimum distance to connect 2 players remains 160px)
2020-05-03 16:57:17 +02:00
gparant
8357f9b8c2
Merge branch 'event_group' into webrtc
...
# Conflicts:
# back/src/Model/Group.ts
# back/src/Model/World.ts
2020-05-03 16:18:05 +02:00
David Négrier
58565a7f45
Refactoring events to connect/disconnect a user to a group
2020-05-03 16:08:04 +02:00
gparant
bae03fb1cf
Fix CI
2020-05-02 23:48:33 +02:00