Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
html-scrabble
Advanced tools
This repository contains the code for a multiplayer Scrabble game. I have written it because my wife and I got increasingly frustrated by the sluggish Web 1.0 interface that http://thepixiepit.co.uk/ provides. Coming up with something better was on my To-Do-List for years, but I never found enough time to get a decent board UI implemented, and The Pixie Pit served us well enough through those years.
Much to my pleasure, I stumbled over http://code.google.com/p/html-scrabble/ one day, which implemented the interactive parts of a Scrabble board in a very nice manner. The implementation was lacking the game logic and server parts, though, so I decided to fork the project and add the missing pieces.
Little of the original board code is left now, but I owe the original author, Daniel Weck, lots of kudos for getting CSS and Drag&Drop under control. Without his work, I'd not be able to get the game to run. I also owe an apology for ripping his code apart and removing the dictionary functionality, as we are playing without a dictionary and want to keep it that way.
As I am not planning to provide the game as a public service, but rather run it for me and my friends to use, these limitations do not bother me. If you look at the game, please consider that it is a game meant to be played between friends, not an Internet service open to the general public.
I am open to patch submissions as long as the playability of the game is preserved. In particular, we want no dictionary matching, fast next game creation, no passwords, keyboard operability. I also want zero-effort deployment (i.e. no mandatory dependency on a database server).
It would be somewhat nice to grow the game into a public service, but there is a lot of work left towards that goal, and I don't intend to make such an effort given the uncertain licensing issues. If you want to deal with the legal aspects, let me know.
The game uses node.js as server and depends on some npm packages. It can itself be installed using npm:
$ npm install html-scrabble
Settings can be be changed by the way of a configuration file which must be named 'config.js' and placed in the main html-scrabble directory. The default configuration file is included as config-default.json. It can be copied to config.js and then edited.
By default, the server starts on port 9093 and uses the smtp server running on the local host to send out game invitation emails. The invitation emails contain the "localhost" in the URL, so they will only work for a browser running on the same machine as the server.
As a minimum, the baseUrl
and mailSender
configuration
properties should be changed. Furthermore, if you are not running an
SMTP server on your server, you need to set the
mailTransportConfig
appropriately. Please refer to nodemailer
documentation
for information on how to configure nodemailer.
If you deploy your Scrabble server in the Internet, you may want to
protect your game list so that pranksters can't mess up your games.
You can do so by adding a gameListLogin
property to your
configuration like so:
"gameListLogin": {
"username": "foo",
"password": "bar"
}
Note that this is meant as a light protective measure. Do not use a password that you use elsewhere. Thank you for observing all safety measures.
Once you're satisfied with the configuration, you can start the game server using
$ npm start html-scrabble
Open your web browser on the configured game URL to create a new game.
If you have trouble getting the server to run, feel free to contact me. Be aware, though, that you will need a machine to run the server on (I'm using my Mac, but FreeBSD or Linux will work as well) and have some command line knowledge. I cannot help you if you don't know your way through the shell and development tools.
Enjoy, Hans (hans.huebner@gmail.com)
FAQs
Multi user Scrabble game
We found that html-scrabble demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.