Commit graph

9615 commits

Author SHA1 Message Date
Thibault Duplessis 627c9c917b Fix typo in pgn 2012-05-08 16:22:00 +02:00
Thibault Duplessis f98dcf587c Start implementing takeback 2012-05-08 16:11:05 +02:00
Thibault Duplessis a5495aac5f Remove old game info plus small fixes 2012-05-08 13:30:54 +02:00
Thibault Duplessis c065d513e7 Implement game info 2012-05-08 13:23:49 +02:00
Thibault Duplessis 72df4c24bc Reimplement chess captcha using the pgn reader to rewing the game 2012-05-07 01:00:36 +02:00
Thibault Duplessis ab9f5a00b1 Complete pgn reader 2012-05-07 00:11:39 +02:00
Thibault Duplessis ec60369cc0 Complete chess captcha implementation 2012-05-05 13:27:51 +02:00
Thibault Duplessis 50c1a5b540 Add average elo command 2012-05-04 20:22:32 +02:00
Thibault Duplessis e001058925 Start chess captcha implementation 2012-05-04 01:17:58 +02:00
Thibault Duplessis 6008ced8c1 Tweak server reporting actor 2012-05-02 23:07:08 +02:00
Thibault Duplessis 3ebeb530ec Don't override server error handling 2012-05-02 23:06:43 +02:00
Thibault Duplessis 7fabad8b1b Nicer report formatting 2012-04-25 22:15:43 +02:00
Thibault Duplessis aa445039ed Fix reporting member count 2012-04-25 18:04:18 +02:00
Thibault Duplessis e1098a15c2 Fix status reporting 2012-04-24 21:07:31 +02:00
Thibault Duplessis dcea66e723 All communications through a single socket 2012-04-24 20:57:25 +02:00
Thibault Duplessis b47db28dd0 Some minor tweaks 2012-04-24 19:04:31 +02:00
Thibault Duplessis 45bca74495 Improve realtime reporting 2012-04-24 02:30:48 +02:00
Thibault Duplessis 8de31b47ee Run AI diagnosis immediately on startup 2012-04-24 01:00:24 +02:00
Thibault Duplessis 9a51358646 Complete socket refactoring 2012-04-24 00:05:45 +02:00
Thibault Duplessis b6f79995fb Rewrite socket actors with a game hub master 2012-04-23 22:16:36 +02:00
Thibault Duplessis 74b36853fb Merge branch 'master' into dualping
* master:
  Move number approximation to scalalib
2012-04-23 19:43:04 +02:00
Thibault Duplessis 2db0ab1a8c Move number approximation to scalalib 2012-04-23 19:42:46 +02:00
Thibault Duplessis 3d5bb49645 Start major actor refactoring (yes, again) 2012-04-23 00:59:02 +02:00
Thibault Duplessis ab996abac6 Merge branch 'master' into dualping
* master:
  Prepare thread number reporting
  Remove debugging statement
  Use java api to get the system load average
2012-04-22 22:28:18 +02:00
Thibault Duplessis 1a5a299866 Prepare thread number reporting 2012-04-22 22:27:46 +02:00
Thibault Duplessis 2e14ea70b7 Remove debugging statement 2012-04-22 22:20:57 +02:00
Thibault Duplessis 850867846f Use java api to get the system load average 2012-04-22 22:15:35 +02:00
Thibault Duplessis 5f78ca97c5 Start implementing the bidirectional ping 2012-04-22 22:09:48 +02:00
Thibault Duplessis 0307bb01b6 Restore server side UID generation 2012-04-22 18:47:21 +02:00
Thibault Duplessis 2f904430df Safer file closing in reporting 2012-04-22 18:44:40 +02:00
Thibault Duplessis 0ae47068bb Syntax sugar 2012-04-22 00:23:29 +02:00
Thibault Duplessis 35d1b75103 Socket keep alive with ping pong 2012-04-21 21:04:15 +02:00
Thibault Duplessis bc2c92c43b Close the /proc/loadavg file 2012-04-21 19:44:05 +02:00
Thibault Duplessis 071910f1e0 Report the number of open game sockets 2012-04-21 14:30:46 +02:00
Thibault Duplessis 5f946f3faf Remove HubMemo debugging 2012-04-21 14:24:15 +02:00
Thibault Duplessis 67c18b0110 Lazy creation of game socket actors 2012-04-21 13:57:07 +02:00
Thibault Duplessis d479757a01 Create the socket uid on server side 2012-04-21 13:56:45 +02:00
Thibault Duplessis 7dab74a4f4 Add debugging to game actors lifetime 2012-04-21 13:18:30 +02:00
Thibault Duplessis 85545ba1f8 Add nb playing games reporting 2012-04-21 13:18:22 +02:00
Thibault Duplessis 136e91e936 Safer socket connection 2012-04-21 12:41:46 +02:00
Thibault Duplessis 24d28fbfea Make titivate command run faster 2012-04-21 12:04:30 +02:00
Thibault Duplessis 8d9a0d9ceb Titivate DB more often 2012-04-21 12:03:36 +02:00
Thibault Duplessis 7bf9df3b5b Compress nbp sound 2012-04-20 23:47:38 +02:00
Thibault Duplessis da70aad326 Remove unused function 2012-04-20 14:53:02 +02:00
Thibault Duplessis a9255bd35b Improve AI driver choice performance 2012-04-20 12:33:31 +02:00
Thibault Duplessis c894566b57 Add remote AI health to the status report 2012-04-20 12:33:03 +02:00
Thibault Duplessis 245a23a2a1 Remove unused watcher memo 2012-04-20 10:59:19 +02:00
Thibault Duplessis 0722fa44f5 Make better use of applicative builders 2012-04-20 10:12:27 +02:00
Thibault Duplessis 5990227ec3 Cleanup Game.next when games are removed 2012-04-20 09:27:35 +02:00
Thibault Duplessis b10da80b5a Report box load average 2012-04-19 23:38:18 +02:00
Thibault Duplessis 4319a885d3 Remove debug messages 2012-04-19 23:21:46 +02:00
Thibault Duplessis a94feadfc9 Add UserRepo.byUsername IO function 2012-04-19 23:02:47 +02:00
Thibault Duplessis d2a254c75a Remove iocolor methods 2012-04-19 22:58:02 +02:00
Thibault Duplessis db3af3dbbd Regroup elo manipulation, add elo adjustement logic 2012-04-19 22:56:20 +02:00
Thibault Duplessis e7e7efb3cd Persist game last move time 2012-04-19 22:17:36 +02:00
Thibault Duplessis 808282204a Fix game move socket data 2012-04-19 21:26:54 +02:00
Thibault Duplessis 2bbad28406 Fix game chat bug 2012-04-19 20:16:35 +02:00
Thibault Duplessis d31c4866e5 Attempt to store player move times 2012-04-19 15:31:35 +02:00
Thibault Duplessis b08ceaa84f Implement player blurs 2012-04-19 15:08:18 +02:00
Thibault Duplessis edb564f650 Tweaks 2012-04-19 14:04:07 +02:00
Thibault Duplessis 9122c7f103 The Env needs the play application for akka context, deal with it 2012-04-18 18:08:36 +02:00
Thibault Duplessis db0484dbdf Make db user fetching safer 2012-04-18 12:53:28 +02:00
Thibault Duplessis 848e3322b2 Move DbGame diffing in a distinct class 2012-04-18 12:44:56 +02:00
Thibault Duplessis e2379dbc22 Remove unsafe DB accesses to add monad crazyness 2012-04-16 19:51:49 +02:00
Thibault Duplessis 1dd772b5b3 Add reporting actor 2012-04-16 13:27:32 +02:00
Thibault Duplessis adc443d0fc Remove extra code and make communications safer 2012-04-16 01:04:57 +02:00
Thibault Duplessis 19ee864461 Refactoring and code golf 2012-04-16 00:50:41 +02:00
Thibault Duplessis 1c19479e3a Simplify hubs and jobs, remove game hub master 2012-04-16 00:30:27 +02:00
Thibault Duplessis 9c111eab28 Complete multisocketing 2012-04-16 00:01:03 +02:00
Thibault Duplessis 8f1677e198 Checkpoint before multisocketing 2012-04-15 23:18:46 +02:00
Thibault Duplessis b98154109c Remove all references to AliveMemo 2012-04-15 12:35:11 +02:00
Thibault Duplessis e40f83ac83 Websocket refactoring wip 2012-04-15 12:29:56 +02:00
Thibault Duplessis c00ed2699b Checkpoint: game hub scheduled cleanup 2012-04-14 23:25:01 +02:00
Thibault Duplessis cc54f45dea More websocket stuff 2012-04-14 16:42:59 +02:00
Thibault Duplessis b3ea12c381 Stuff. Lot of. 2012-04-11 01:12:07 +02:00
Thibault Duplessis da9d5e79f0 move pieces using the socket - removing circular reference 2012-04-10 00:37:55 +02:00
Thibault Duplessis 76a71c0198 Stop invalidated channels actors 2012-04-09 23:56:12 +02:00
Thibault Duplessis b7e57d03ce Render the message event 2012-04-09 23:29:57 +02:00
Thibault Duplessis 3eb3c4a8f6 Send both to repo and game socket 2012-04-09 23:15:23 +02:00
Thibault Duplessis e6fc096da3 Remove Evented monad, replaced by Progress monad 2012-04-09 22:26:56 +02:00
Thibault Duplessis 32cfdc35a5 Huge refactoring to get events out of player models 2012-04-09 21:59:19 +02:00
Thibault Duplessis c2b03aa64d More tweaks to the lobby hub 2012-04-08 14:20:19 +02:00
Thibault Duplessis 07a40215af Better remote AI health management 2012-04-08 14:09:36 +02:00
Thibault Duplessis 2de6f27f6a Simplify player count 2012-04-08 12:48:47 +02:00
Thibault Duplessis 45c1dfe93a Merge branch 'master' into websocket
* master:
  Fix bug when updating elo history
2012-04-08 12:35:54 +02:00
Thibault Duplessis c63e56f57b Deal with online usernames more efficiently 2012-04-07 18:16:20 +02:00
Thibault Duplessis 5da9b2f8bd Better hook synchronization 2012-04-07 17:30:35 +02:00
Thibault Duplessis 72cc4c0a1e Simplify cron runner 2012-04-07 16:51:27 +02:00
Thibault Duplessis abcfb2e7bc A better way to report number of players with less code 2012-04-07 15:10:12 +02:00
Thibault Duplessis 31c2d1d39f Add socket pool to register uids 2012-04-07 14:22:33 +02:00
Thibault Duplessis 23bb368bf5 Fix lobby game redirection 2012-04-07 10:36:06 +02:00
Thibault Duplessis 49fb48e582 Improve lobby preloader to handle more edge cases 2012-04-07 10:21:20 +02:00
Thibault Duplessis 67aaee913c Fix hook auto-cancelation 2012-04-06 21:54:33 +02:00
Thibault Duplessis 22f7a5f816 Redirect when hook is biten 2012-04-06 21:36:38 +02:00
Thibault Duplessis 2e9e718b0f Version lobby websocket messages to ensure everybody is uptodate 2012-04-06 20:13:45 +02:00
Thibault Duplessis 6894490189 Implement custom Enumerator, a PushEnumerator but with initial messages 2012-04-06 19:54:08 +02:00
Thibault Duplessis 9c93cc18bc Reduce websocket data overhead 2012-04-06 15:07:32 +02:00
Thibault Duplessis 345d0762fb Websocket'd lobby hooks 2012-04-06 14:35:51 +02:00
Thibault Duplessis 4a5c791989 Merge branch 'master' into websocket
* master:
  Don't create remote AI http class
  Use a byte array input stream in crafty server
  Delay AI service creation to continuously check remote AI health
  Fix user elo history game saving

Conflicts:
	app/Starter.scala
	todo
2012-04-06 10:09:06 +02:00
Thibault Duplessis b89d49523f Merge branch 'master' into websocket
* master:
  Add global ai.server mode (no cron)
  Configure remote AI url
  Move remote AI logic to a distinct controller
  Improve remote AI health reporting
  Defer Crafty AI processing to a remote server, and check its health
  Don't break on empty db.lobby_entry

Conflicts:
	app/ai/CraftyAi.scala
	project/Build.scala
	system/src/main/scala/memo/EntryMemo.scala
2012-04-05 22:32:46 +02:00
Thibault Duplessis b5cf48541c Add global ai.server mode (no cron) 2012-04-05 22:18:50 +02:00
Thibault Duplessis b586d016f1 Move remote AI logic to a distinct controller 2012-04-05 22:10:09 +02:00
Thibault Duplessis 5c48b1c05b Improve remote AI health reporting 2012-04-05 22:09:49 +02:00
Thibault Duplessis 1746584c58 Defer Crafty AI processing to a remote server, and check its health 2012-04-05 21:19:05 +02:00
Thibault Duplessis 858864c9ba Reorganize the whole lobby thing 2012-04-05 18:53:04 +02:00
Thibault Duplessis 42ddd61387 Move all tests to /test 2012-04-05 11:01:45 +02:00
Thibault Duplessis 8a56b21b7b Move all system code to app/ 2012-04-05 10:54:45 +02:00
Thibault Duplessis b1fe7ccb05 Implement whole lobby chat room 2012-04-04 21:38:10 +02:00
Thibault Duplessis 9100c00154 Replace lobby syncer with lobby preloader 2012-04-04 00:12:41 +02:00
Thibault Duplessis eddcfae0f6 First try with socket-based lobby 2012-04-03 19:16:01 +02:00
Thibault Duplessis f1cc2995c0 Deal with not found in syncs 2012-04-02 18:42:22 +02:00
Thibault Duplessis 15cf94c95b Format ping json manually 2012-04-02 17:34:14 +02:00
Thibault Duplessis 697c5287ba Add game finish command as a service 2012-04-02 12:24:39 +02:00
Thibault Duplessis b6762a85e3 Improve crons 2012-04-02 10:49:16 +02:00
Thibault Duplessis cbe832bcf8 Improve ai reverse engineering error reporting 2012-04-01 20:22:00 +02:00
Thibault Duplessis bd606b27c5 Implement draw-decline and draw-cancel, remove internal draw api 2012-04-01 19:23:33 +02:00
Thibault Duplessis b9004cbf94 Add draw offer logic 2012-04-01 19:03:44 +02:00
Thibault Duplessis 8deb06dd93 Add nbGames action 2012-04-01 14:41:28 +02:00
Thibault Duplessis b247dab4e3 Implement database cleanup commands 2012-04-01 11:45:06 +02:00
Thibault Duplessis 2b8a3e8559 Make move calls asynchronous 2012-04-01 10:37:48 +02:00
Thibault Duplessis a81fd1e45a Add numbers writeables and content types 2012-04-01 10:37:36 +02:00
Thibault Duplessis 112e951deb Fix outoftime xhr call 2012-03-31 23:48:03 +02:00
Thibault Duplessis 689b70de6a Add player version api call 2012-03-31 21:25:09 +02:00
Thibault Duplessis 38891e64df Add player show api call 2012-03-31 21:14:20 +02:00
Thibault Duplessis 628e7fa133 Fix removal of dead hooks 2012-03-31 13:41:56 +02:00
Thibault Duplessis 7f59985c2b Move hook removal from api to xhr 2012-03-31 13:22:03 +02:00
Thibault Duplessis 1c4d32a553 Make game sync and lobby sync asynchronous 2012-03-31 11:20:33 +02:00
Thibault Duplessis ec6a233b09 Add cli project 2012-03-29 19:28:08 +02:00
Thibault Duplessis b441faf115 Refactor and import more code from lichess 2012-03-29 19:12:23 +02:00
Thibault Duplessis 61588766a0 Implement game room 2012-03-29 15:25:14 +02:00
Thibault Duplessis bd5d611b95 Handle chat-less lobby sync 2012-03-29 10:39:37 +02:00
Thibault Duplessis 838afda9e6 More endgames and Pov refactoring 2012-03-29 00:23:10 +02:00
Thibault Duplessis 0da37614fb Start implementing end game logic 2012-03-28 23:01:04 +02:00
Thibault Duplessis 1920e8918d Half working chess clock, time conversion issues 2012-03-26 18:42:12 +02:00
Thibault Duplessis 4908ab9d1f Handle ai first move 2012-03-26 12:28:15 +02:00
Thibault Duplessis 875516529b Lobby timeline and messages, ping hook id 2012-03-25 22:43:18 +02:00
Thibault Duplessis 9dac236e3d Lot of work just got done 2012-03-24 01:42:50 +01:00
Thibault Duplessis 75f416f6aa More hook stuff 2012-03-23 11:20:58 +01:00
Thibault Duplessis 74e1c9a0e1 Don't do hook persistence 2012-03-22 21:24:48 +01:00
Thibault Duplessis 6f060ebab2 Implement lobby hook creation 2012-03-22 21:03:03 +01:00
Thibault Duplessis 6d14a39884 Implement lobby preload 2012-03-22 00:47:08 +01:00
Thibault Duplessis e1fb905119 Start lobby implementation, fix tests, and more 2012-03-21 01:08:32 +01:00
Thibault Duplessis 59c8081005 Reorganize controllers and apis 2012-03-20 20:50:51 +01:00
Thibault Duplessis 472efe44a1 Implement draw messages and events 2012-03-19 23:25:14 +01:00
Thibault Duplessis 758841bb7a Add more entry points 2012-03-19 22:39:51 +01:00
Thibault Duplessis b120695c14 Configure crons 2012-03-19 21:33:18 +01:00
Thibault Duplessis e6dc7ce4d4 Add cron class with online username updater job 2012-03-19 21:15:37 +01:00
Thibault Duplessis 860b275c50 Move HttpEnv to Global object and prepare for actors 2012-03-18 23:39:30 +01:00
Thibault Duplessis cb85603714 Add public sync for watchers 2012-03-18 21:22:00 +01:00
Thibault Duplessis a3e557ab50 Activity, watchers, ping, and more 2012-03-18 21:10:51 +01:00
Thibault Duplessis 99f437de02 Handle alive expiry cache 2012-03-18 16:32:18 +01:00
Thibault Duplessis 5f9411fbf2 Handle rematch 2012-03-18 14:20:38 +01:00
Thibault Duplessis c3813f3359 Improve controllers 2012-03-18 11:49:19 +01:00
Thibault Duplessis bf80c8228f Implement join internal api 2012-03-18 10:54:27 +01:00
Thibault Duplessis 408cf76679 Ensure static environment 2012-03-17 23:04:02 +01:00
Thibault Duplessis 076211e0b4 Split up application and internal api 2012-03-17 22:28:07 +01:00
Thibault Duplessis 13101a42c1 Communication with lichess 2012-03-17 21:18:52 +01:00
Thibault Duplessis 8a3922cb50 Event export and basic sync: can play with the AI 2012-03-17 10:14:12 +01:00
Thibault Duplessis ef73f21eed Start sync implementation 2012-03-16 23:18:06 +01:00
Thibault Duplessis bee62af887 Better move request implementation 2012-03-16 15:31:26 +01:00
Thibault Duplessis 23d61a5d1a Implement move request 2012-03-16 00:05:21 +01:00
Thibault Duplessis ce7ca7ea11 Make the HttpEnv extend the SystemEnv trait 2012-03-15 23:03:54 +01:00
Thibault Duplessis 3b63327632 Convert to play2 project 2012-03-15 23:00:06 +01:00
Thibault Duplessis 1b03b1e6fc Use play-mini instead of play2 2012-02-23 12:47:05 +01:00
Thibault Duplessis d6f27cafa4 First commit with minimalized play2 installation 2012-02-19 12:55:30 +01:00