Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hikari-no-yume/ponyplace
ponyplace is a 2d pony chatroom powered by node.js and WebSocket.
https://github.com/hikari-no-yume/ponyplace
Last synced: 3 months ago
JSON representation
ponyplace is a 2d pony chatroom powered by node.js and WebSocket.
- Host: GitHub
- URL: https://github.com/hikari-no-yume/ponyplace
- Owner: hikari-no-yume
- License: other
- Created: 2012-10-12T18:05:35.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2013-08-21T19:28:47.000Z (over 11 years ago)
- Last Synced: 2024-04-14T15:09:28.447Z (9 months ago)
- Language: JavaScript
- Homepage: http://pp.ajf.me/
- Size: 27 MB
- Stars: 6
- Watchers: 6
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
ponyplace is a 2d pony chatroom powered by node.js and WebSocket.
Setup
=====Configuration
-------------1. Make sure you have a `special-users.json` file in the `server/data_config` directory. Make sure the usernames listed have accounts attached, otherwise anyone can create one with that name and use mod powers. Should be of format:
{
"joe": "creator",
"fred": "moderator",
"garry": "moderator",
"tomatobot": "bot"
}2. You'll also need a `bypass.json` file in `server/data_config`. You can leave it empty (`{}`), but if you have any bots, this allows them to bypass login via Persona, and instead use a password, e.g.:
{
"somebot": "password123"
}3. Finally, set up a `config.json` file in `server/data_config`, to specify the port listened on for debugging and production modes, and the origins needed. `"allow_missing_origin"`, if `true`, allows clients to connect which don't provide an origin (i.e. non-web browser clients like bots). It doesn't really matter what you set this to, though, since if they can avoid providing an origin, they can also probably fake one. For example:
{
"origin": "http://pp.ajf.me",
"origin_debug": "http://localhost:8000",
"port": 8000,
"port_debug": 8000,
"allow_missing_origin": true
}Running Server
--------------1. Obviously, make sure you have node.js.
2. `cd` into the `server` directory and do `npm install`. This is equivalent to `npm install websocket` to get [WebSocket-Node](https://github.com/Worlize/WebSocket-Node) (which itself requires node-gyp, do `sudo npm install -g node-gyp` first), `npm install keypress` to get the keypress module and `npm install express` to get express.
3. Make sure `server/data_user` is writeable.
4. Run `server.js` (add `--debug` switch if running locally)ponyplace no longer requires a separate web server. To integrate as part of a site using vhosts, run ponyplace on a different port and reverse-proxy.