Commit Graph

103 Commits

Author SHA1 Message Date
Guangcong Luo
c2d09f55b2 New protocol - significantly reduced network usage 2012-08-14 20:02:56 -07:00
Guangcong Luo
d3395c8727 Don't give Zarel admins automatically
(Zarel can still be given admins manually - see the code comments for details)
2012-08-12 18:33:06 -07:00
Guangcong Luo
6c57c77abb Make sure rejoining users are redirected to the lobby 2012-08-12 16:30:33 -07:00
Guangcong Luo
59959ce24e Chat commands for most user actions
- we're moving to a new protocol! wheee!
2012-08-12 13:44:59 -07:00
Guangcong Luo
076acf35fd Make sure the Zarel exception doesn't crash exotic group configs 2012-08-10 20:23:46 -07:00
Guangcong Luo
231a9349d1 Offline promote/demote 2012-08-10 00:10:39 -07:00
Guangcong Luo
100ab0cfed Increase throttle delay to 900ms 2012-08-09 20:45:06 -07:00
Guangcong Luo
b51dda2c8a Increase throttle delay to 800ms 2012-08-08 23:50:56 -07:00
Guangcong Luo
47c7e02464 Batched ladder requests 2012-08-07 19:21:53 -07:00
Guangcong Luo
2ab4f287db New request API
(preparation for batched requests)
2012-08-05 00:10:04 -07:00
Guangcong Luo
b43df9a084 Fix crash on disconnect 2012-08-04 01:06:51 -07:00
Guangcong Luo
b67840ba38 Increase spam throttle to 600ms 2012-08-01 22:53:46 -07:00
Bill Meltsner
b5ac054933 Also bojangles' avatar. 2012-08-01 20:45:10 -05:00
Bill Meltsner
fd802576ef Add GreatSage's custom avatar. 2012-08-01 19:57:38 -05:00
Guangcong Luo
4831e68a8c Multi-process battles!
Battles now occur in a separate process.
Hopefully, this results in a substantial increase in network stability.
WARNING: Battle crashes are now practically unrecoverable.
2012-08-01 13:48:58 -07:00
Guangcong Luo
febe9f7764 Fix one more crash in async verifier 2012-07-29 23:27:05 -07:00
Guangcong Luo
b162bf8f2a Fix a crash when trying to log in 2012-07-29 16:06:06 -07:00
Guangcong Luo
a230425dcd Fixes to verifier 2012-07-29 14:23:05 -07:00
Guangcong Luo
111e3b89c2 Experimental asynchronous user verifier 2012-07-29 14:13:58 -07:00
Guangcong Luo
37fe2f68de Reject rename if given wrong token 2012-07-28 16:49:20 -07:00
Guangcong Luo
1dc63e446f Even fewer console messages 2012-07-23 23:25:49 -07:00
Guangcong Luo
ba78f59052 Continue cutting down on what we print to console 2012-07-23 13:36:11 -07:00
Guangcong Luo
cf85b9cd76 Fix a few crashes when renaming 2012-07-21 20:13:08 -07:00
Guangcong Luo
a03d8906a3 Usernames starting with 'guest' can't chat/battle 2012-07-21 00:11:04 -07:00
Guangcong Luo
053bac374b Basic implementation of new login
uses public key encryption instead of connecting to login server
2012-07-20 23:58:36 -07:00
Guangcong Luo
0db9ffc394 Severely cut down on the number of debug messages 2012-07-17 12:45:25 -07:00
Guangcong Luo
a47cb7f0d9 Stop asking login server for MMR
should relieve some login server stress
2012-07-16 22:16:43 -07:00
Bill Meltsner
567b1eb12d Fix challenges forcing the players into random teams. 2012-07-16 00:42:39 -05:00
Guangcong Luo
e44a35e4af Cache MMR - should decrease number of requests to server 2012-07-11 21:08:51 -04:00
Marty-D
9e25dcd1a9 Add some perma-avatars. 2012-07-10 18:32:08 -03:00
Bill Meltsner
c31ee2a428 Add SockJS as the default networking library.
You can still use Socket.IO by setting config.protocol in config.js.
2012-07-06 22:56:28 -05:00
Bill Meltsner
64d210940a Add support for lists of words to be banned from being used in usernames (NOT chat).
& and higher can change the list with /banword and /unbanword (or /bw and /ubw respectively). The words/phrases are turned into IDs (only lowercase alphanumeric characters allowed) and checked against the ID form of a given username.

Keep in mind the list has no sense of context, and so overzealous banning, particularly of short or otherwise common words, should be avoided. Or else user "Cofagrigus" will want to have a word with you.
2012-07-01 21:46:55 -05:00
Cody Thompson
9b5d4da190 Steamroll wanted a dedicated avatar, so here! 2012-06-23 23:12:59 -04:00
Guangcong Luo
6afc717ef0 New ranking arrangement 2012-06-23 00:33:11 -07:00
Bill Meltsner
9f6e26b2db Add Desolate to avatars list, this time without ruining line endings. 2012-06-11 14:17:21 -05:00
Bill Meltsner
8174271da8 Revert "added Desolate to permanent avatars list"
This reverts commit 567b0255b9.
2012-06-11 14:15:42 -05:00
Angelo Licastro
567b0255b9 added Desolate to permanent avatars list 2012-06-11 12:34:22 -04:00
Bill Meltsner
c585cdacd9 Destroy a user's chat queue when they're disconnected. 2012-06-10 21:15:35 -05:00
Guangcong Luo
7a18f5a27b Add Zarel to the permanent avatars list
(I swear I'll save it in the users database someday)
2012-06-08 16:06:38 -07:00
Guangcong Luo
7009b3a4bb Revert bmelts's hasty porting of Id etc to Sugar.js extensions
- The reverted utility functions, toId/toUserid/sanitize/clampIntRange, were designed to handle unsanitized data gracefully
2012-06-08 15:44:49 -07:00
Guangcong Luo
37c8fca226 Even fewer globals:- getRoom -> Rooms.get, newRoom -> Rooms.create
- getUser -> Users.get
- getTime has been entirely removed; new Date().getTime() isn't that long
2012-06-08 14:51:40 -07:00
Guangcong Luo
f0e134a0ac Revert bmelts's security fix (This should actually be fixed in the login server) 2012-06-03 14:07:56 -07:00
Bill Meltsner
a2be12e5b3 User renames now rely on the information provided by the login server, instead of blindly accepting the user's input. 2012-06-03 15:47:21 -05:00
Guangcong Luo
048d06239e Chat throttling implemented
Happens mostly in users.js. Now, chatting is proxied through users.js, which handles throttling.
I tried to write my code to avoid race conditions, but I'm not entirely sure if I succeeded.
2012-05-31 02:42:52 -07:00
Guangcong Luo
af08b9a2fc Refactor users.js again
This time, we're using an IIFE.
Ostensibly, it's so classes can have static private data in their own scope.
Really, it's so each class gets its own block, which also makes cold folding nice.
2012-05-31 02:42:51 -07:00
Bill Meltsner
ddca317952 Change the function declaration format to User.prototype.function. 2012-05-24 12:52:10 -05:00
Bill Meltsner
87fc45987d A first shot at refactoring users.js to use the prototype.
Normally, this is used for OOP-style inheritance, but we're not really interested in that; mainly, we just want things to use less memory, and since Users are never garbage collected, sharing all those functions among the prototype should help cut down on memory usage considerably once you've got a few thousand people coming in and out.
2012-05-24 02:58:56 -05:00
Bill Meltsner
4f729aae7f Refactor most utility functions (toId, clampIntRange, etc.) into Sugar extensions of the relevant objects. 2012-05-24 01:41:01 -05:00
Guangcong Luo
298c1e03f3 Fix yet another crash in nameLock...
we might want to consider getting rid of this nameLock implementation
2012-05-09 02:47:40 -04:00
Bill Meltsner
1c4a26da36 Fix a bug in User.nameLock which would prevent namelocking to specific names most of the time. 2012-05-08 03:36:05 -04:00