91ce318848
This is an important change. So far, the project was labelled as licensed under the "AGPL" (improperly since no version of the AGPL was specified) This commit changes the license to "AGPL + Commons Clause" The [common clause](https://commonsclause.com/) is an additional restriction forbidding companies from taking WorkAdventure of the shelf, and reselling WorkAdventure. This license does not forbid anyone from installing and using WorkAdventure, it only targets resellers (so SAAS exploitation of WorkAdventure is limited to TheCodingMachine). This effectively makes WorkAdventure non open-source, but the source-code remains available for anyone to see and modify. |
||
---|---|---|
.. | ||
src | ||
tests | ||
.dockerignore | ||
.eslintrc.json | ||
.gitignore | ||
Dockerfile | ||
jasmine.json | ||
LICENSE.txt | ||
package.json | ||
position-test.js | ||
README.md | ||
server.ts | ||
tsconfig.json | ||
yarn.lock |
Back Features
Login
To start your game, you must authenticate on the server back. When you are authenticated, the back server return token and room starting.
POST => /login
Params :
email: email of user.
Join a room
When a user is connected, the user can join a room.
So you must send emit join-room
with information user:
Socket.io => 'join-room'
userId: user id of gamer
roomId: room id when user enter in game
position: {
x: position x on map
y: position y on map
}
All data users are stocked on socket client.
Send position user
When user move on the map, you can share new position on back with event user-position
.
The information sent:
Socket.io => 'user-position'
userId: user id of gamer
roomId: room id when user enter in game
position: {
x: position x on map
y: position y on map
}
All data users are updated on socket client.
Receive positions of all users
The application sends position of all users in each room in every few 10 milliseconds.
The data will pushed on event user-position
:
Socket.io => 'user-position'
[
{
userId: user id of gamer
roomId: room id when user enter in game
position: {
x: position x on map
y: position y on map
}
},
...
]