|
4 months ago | |
---|---|---|
.. | ||
src | 4 months ago | |
.gitignore | 2 years ago | |
README.md | 1 year ago | |
deploy.sh | 2 years ago | |
ecosystem.yml | 4 months ago | |
index.js | 2 years ago | |
package-lock.json | 4 months ago | |
package.json | 4 months ago | |
ppfun-registration.yaml | 4 months ago |
README.md
ppfun-bridge Matrix Application Service
Sends chat messages from ppfun to matrix and vice versa.
Uses the matrix Application Service API and pixelplanet.fun admin-API (ApiWebsocket and ./adminapi, so admin-access and set APISOCKET_KEY is required).
It is supposed to run on the same server as matrix-synapse.
The Application Service communicaties with matrix via HTTP and listens itself on the port 8009.
Running
Install dependencies
npm install
Edit ppfun-registration.yaml
keys hs_key
and as_key
into some random strings and move the file somewhere where both the ppfun-bridge and matrix-synapse can access it. Don't change the pp_
aliases, because they are hardcoded in the module and bridge.
Edit your homeserver.yml
matrix-synapse config file and add a path to the ppfun-registration.yml
like this:
app_service_config_files:
- /etc/matrix-synapse/ppfun-registration.yaml
Edit ecosystem.yml and set the path to the ppfun-registration.yml
as REGISTRATION_YAML.
Set the pixelplanet APISOCKET_KEY and APISOCKET_URL (like https://pixelplanet.fun/mcws
).
HOMESERVER_URL should be the local url to matrix-synapse like http://localhost:8008
and HOMESERVER_DOMAIN its base_url / server_name like pixelplanet.fun
MEDIA_URL is the http[s] url from which the matrix server is reachable from the outside, which is usually the base_url, it is needed to send links
Now you can start the brige with pm2:
pm2 start ecosystem.yml
and stop it with
pm2 stop ppfun-bridge
and watch its logs with
pm2 log ppfun-bridge
Room Creation
The bridge automatically creates matrix rooms for all public pixelplanet channels available and makes the '@pp_admin:pixelplanet.fun' user admin.
Some things are hardcoded in src/ppfunMatrixBridge.js
, check it out if there are problems.
And the URL where to fetch chunks from pixelplanet is hardcoded in src/pixelplanet/loadChunk.js
.