Commit Graph

24 Commits

Author SHA1 Message Date
Andy Janata 7a24c652ac Add ID codes for positive user identification, and minor fixups.
Users can specify an identification code when they connect (8-100 characters), only if they are using HTTPS. This code is combined with their nickname and a server-side secret, hashed with SHA-256, and condensed down to 64 bits by XORing every 8th byte with each other, and finally converted to base64 (with the trailing = removed). This code is displayed in a tooltip when hovering over the user's chat (TODO: mobile way to view it).

Sigils have been added to be displayed before the user's name in the chat. Admins get @, users with an ID code get +, and normal users get nothing. The IS_ADMIN field is now deprecated, as this can be determined from the user's sigil. It will be removed eventually, but is still being included in events even though the official client should not be using it anymore.

Kicks and bans are now always displayed to all users, even if the server isn't transmitting quit events normally.
2018-03-02 17:30:59 -08:00
Andy Janata 72b4cd9b8b Add persistent IDs to users, stored via cookie (opt-out availabled).
Fix removing cookies.
Add per-server instance unique IDs for games and users, which will not collide between servers or when servers restart.
Add GeoIP capability.
Add beginning of framework for logging card plays.
2017-02-20 21:35:44 -08:00
Andy Janata 05239299e3 Initial Cardcast UI, with chat commands. Javascript formatter stuff in the project. 2014-08-10 22:16:15 -07:00
uecasm 417c97f1b3 Refactor game options into subobject. 2014-04-08 23:20:40 +12:00
Andy Janata b679412cb0 Merge branch 'emotes' of https://github.com/uecasm/PretendYoureXyzzy into uecasm-emotes 2013-11-30 04:52:29 +00:00
uecasm 0dc7a56e79 Merge upstream changes. 2013-11-29 21:03:12 +13:00
uecasm 2a6b81e4dd Add /me command to support emotes. 2013-10-03 00:28:16 +13:00
Gavin Lambert 3fb715e73c Missed edit 2013-06-20 00:51:23 +12:00
Gavin Lambert a67eedd4ba New feature: blank cards
Add support for blank white cards, that allow the player to enter their
own answer.  (Game host can choose how many to include in the deck; the
default is none.)
2013-06-20 00:23:10 +12:00
Gavin Lambert 4ac0de4ff6 Add spectator feature 2013-06-11 00:14:32 +12:00
Andy Janata bdf288a379 Add game option for using idle timer. Implementation when not using idle timer is it instead uses Integer.MAX_VALUE as the number of milliseconds. 2013-04-13 10:39:38 -07:00
Andy Janata c662bf954d admins can send chat to all connected users 2013-03-26 20:17:49 -07:00
Andy Janata 7cf9413861 - add card set support to the game itself
- add watermark field to cards to indicate what to display over the logo
- display said watermark
2012-07-07 15:01:33 -07:00
Andy Janata 315549d87f game passwords, and display more game information in the lobby list 2012-03-18 21:20:48 -07:00
Andy Janata a6f1a139be game host can configure maximum players and score goal 2012-03-15 20:06:23 -07:00
Andy Janata 29388bad2c add license overview file 2012-02-06 14:54:31 -08:00
Andy Janata 88b68c87b6 comment ALL the files! 2012-02-06 14:00:24 -08:00
Andy Janata 4d5fddd293 add 2-clause bsd-style license to source files 2012-02-02 14:47:23 -08:00
Andy Janata 7600ec27de - refactor game handlers a bit to add another abstract class that ensures the user requesting is in the game in question
- add play card handler. need to send the white card count down to users that refresh the page.
- ajax event handlers get the request object as well as the result object so the server doesn't have to send the game id back in a response
2012-01-26 18:07:39 -08:00
Andy Janata 8b6d171d66 fix warnings 2012-01-20 19:11:39 -08:00
Andy Janata 5bda9fd452 client can join games. doesn't load the game yet, which is the same thing that happens with creating a game. the same thing should happen for both cases.
reworked some tests to be able to hide a method from GameManager. part of this goal was to reduce unnecessary game refresh broadcasts if a client tried to create multiple games.
2012-01-18 16:42:18 -08:00
Andy Janata 76d9be8f1c more constants instead of immediate strings.
add a wrapper around the request parameters so we can use our enum values as the parameter names.
2012-01-16 16:28:21 -08:00
Andy Janata a7cc7c8d36 messing around with the ajax stuff to make autocomplete work better 2012-01-12 17:05:09 -08:00
Andy Janata 9e8c46ec2f make ajax requests come from a builder to work on removing constant strings 2012-01-12 14:25:04 -08:00