Commit Graph

33 Commits

Author SHA1 Message Date
Andy Janata 05239299e3 Initial Cardcast UI, with chat commands. Javascript formatter stuff in the project. 2014-08-10 22:16:15 -07:00
Andy Janata 014495007a Kick non-admins after being idle for an hour. Any user activity resets this timer. This is a roundabout way of addressing #52, but brings more to the table in general and is significantly simpler than making each game have a timer task to manage it.
Increase the ping timeout delay from 45 seconds to 90 seconds, while reducing the timeout on long poll requests on the client side to 30 seconds. (This is still less than the 25 seconds that LongPollServlet will wait.)
2013-12-02 04:00:57 +00: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 2a6b81e4dd Add /me command to support emotes. 2013-10-03 00:28:16 +13:00
Gavin Lambert 4ac0de4ff6 Add spectator feature 2013-06-11 00:14:32 +12:00
Gavin Lambert 467725641f Fix gamelist refresh on leaving game
Game list update was skipped if the game list wasn't visible.  Fix up a
couple of cases when switching back to the game list the update was
called in the wrong order.
2013-06-11 00:09:15 +12:00
Andy Janata c662bf954d admins can send chat to all connected users 2013-03-26 20:17:49 -07:00
Andy Janata 300e7e09b7 Fix up per-game chats so global chat still works. Fix graphical glitch with game chat tab. Make enter work in game chat box. Clear game chat log when joinging game. 2013-02-24 18:47:05 -08:00
Matt Mullins 9cbd699109 Display Per-game chat messages in the correct tab
Errors are displayed in all chat tabs, including the global chat and
all in-game chats.
2013-02-24 17:48:49 -08:00
Andy Janata de331e738a - User preferences. Can turn off (dis)connect messages except for kicks/bans (fixes #9), and can ignore chat from specific users (except admins). Also remembers the user's name. All of these are stored in js cookies.
- Update jQuery and jQuery Cookie plugin, and add jQuery UI.
2012-10-11 21:18:40 -07:00
Andy Janata 7fccd69b15 Kicks and bans.
Admin chat in blue.
Chat commands (/names, /kick, /ban to start).
Close Hibernate session after loading card sets when a user connects -- Oops!
Games have their own Hibernate session for their duration, and this is used instead of a per-request session for loading card sets when changing options.
Fix changing game options without having a card set selected.
2012-08-20 22:41:06 -07:00
Andy Janata 90788982c0 chat messages from admin users show up in blue. admins are defined by IP address for now. 2012-08-20 20:03:52 -07:00
Andy Janata e0391b8d4e skip and kick idle players 2012-03-16 16:59:50 -07:00
Andy Janata 95fe597184 add intermission after judge leaves game. it looks weird, and acts a bit oddly, especially for the previous judge: they can pick a winner but it won't let them choose on the server. still I think this is better than the old way of just starting the next round immediately. 2012-03-15 23:43:43 -07:00
Andy Janata a6f1a139be game host can configure maximum players and score goal 2012-03-15 20:06:23 -07:00
Andy Janata ae5bc1d594 fix some problems with using hard-coded strings instead of values from Constants 2012-03-12 21:05:43 -07: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 83a807f4b8 - reorder stuff in admin.jsp
- add my global ip address to admin whitelist
- add kick functionality to admin.jsp
- admin.jsp redirects to itself after processing actions to avoid refreshing re-processing the action
- ConnectedUsers invalidates the user when removing it
2012-01-30 23:52:45 -08:00
Andy Janata 2d5e9d18c0 - discard cards after they are used, so that they can be reshuffled if more cards are required (hasn't been tested)
- much better handling when users leave the game:
  - put their hand in the discard pile
  - if they played this round, put that card in the discard pile and remove them from the played players list
  - if they were supposed to play this round, remove them from the players list
  - if they were judge, return all played cards to players and move to the next judge
  - if they weren't judge and were lower in judging order, fix the judge pointer
- add a goal to the game (8 points for now, hard-coded)
- keep track of which players are supposed to play this round so players joining and leaving don't affect the game progressing
2012-01-30 16:35:06 -08:00
Andy Janata 0e11e59207 - judge can select card
- game goes to next round
2012-01-27 15:41:57 -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 234b82afd2 - display black card in game
- display message indicating what the game is currently waiting for
- reload the black card when reloading page
- change the js constant generator to explain what the dummy things are for in the output
- add support for enums that need two user-visible values (specifically the game player state: the short message for the scoreboard and the long message telling the player what they need to do)
- hide the start game button after the game is started
- refactor game event longpoll handlers to use a helper that gets the game and reports an error if it can't
- game (should) reset to a lobby if it loses players to put it less than 3
2012-01-24 16:20:43 -08:00
Andy Janata c73ce88646 deal cards to players when the game starts 2012-01-23 15:06:20 -08:00
Andy Janata 44dcc45c48 update the scoreboard when a player leaves or joins the game 2012-01-23 13:37:11 -08:00
Andy Janata 109a58444a don't sanitize chat, instead use a text element to display chat and log messages 2012-01-22 23:54:58 -08:00
Andy Janata 7f376faa10 disable all interface objects when we detect the server has restarted 2012-01-19 00:34:55 -08:00
Andy Janata 979a9c4123 - create games
- list games
  - automatically refreshes list when game is created or destroyed
  - destroy games after removing all players (including at logout)
2012-01-17 21:58:09 -08:00
Andy Janata 9a281cd38f use constants for long poll events, ajax request operation names, ajax response field names, and error codes 2012-01-12 21:36:31 -08:00
Andy Janata 8da78ebac7 move MessageType back inside QueuedMessage since the client doesn't need it
make converter to produce js enums out of java enums
make everything use the constants on both sides for ajax operation code and disconnect reason
move the handler update out of the subpackage that it generates into
make the enum update and handler update run at build
2012-01-12 20:05:39 -08:00
Andy Janata bdf401c443 don't display ourselves connecting at the beginning 2012-01-12 13:07:19 -08:00
Andy Janata 9508575949 log out button 2012-01-06 15:53:04 -08:00
Andy Janata 0183ca5357 - change register error message only showing up once instead of repeating every time you try and get an error. it probably should blank when you start typing again though
- pull the long polling handlers out to their own file like the ajax response handlers
- chat
2011-12-24 19:37:45 -08:00