@@ -6,6 +6,16 @@ const sleep = require('sleep-promise');
6
6
const bcryptCompare = promisify ( bcrypt . compare ) ;
7
7
const bcryptHash = promisify ( bcrypt . hash ) ;
8
8
9
+ const PLAYER_BOOLEAN_PROPERTIES = [
10
+ 'cameraAuto' ,
11
+ 'oneMouseButton' ,
12
+ 'soundOn' ,
13
+ 'blockChat' ,
14
+ 'blockPrivateChat' ,
15
+ 'blockTrade' ,
16
+ 'blockDuel'
17
+ ] ;
18
+
9
19
async function throttleAttempt ( queryHandler , ip ) {
10
20
let { attempts, lastDate } = queryHandler . getLoginAttempts ( ip ) ;
11
21
@@ -79,8 +89,6 @@ async function playerLogin({ token, username, password, ip, reconnecting }) {
79
89
return this . socket . sendMessage ( message ) ;
80
90
}
81
91
82
- queryHandler . setLoginAttempts ( ip , 0 ) ;
83
-
84
92
const rounds = bcrypt . getRounds ( hash ) ;
85
93
const passwordHashRounds = this . server . config . passwordHashRounds ;
86
94
@@ -213,7 +221,7 @@ async function playerRegister({ token, username, password, ip }) {
213
221
return this . socket . sendMessage ( message ) ;
214
222
}
215
223
216
- const lastCreationDate = + ( queryHandler . lastCreationDate ( ip ) ) ;
224
+ const lastCreationDate = + queryHandler . lastCreationDate ( ip ) ;
217
225
218
226
if ( Date . now ( ) - lastCreationDate < 1000 * 60 * 5 ) {
219
227
message . code = 7 ;
@@ -250,18 +258,17 @@ async function playerUpdate(player) {
250
258
delete player . token ;
251
259
delete player . handler ;
252
260
261
+ for ( const property of PLAYER_BOOLEAN_PROPERTIES ) {
262
+ player [ property ] = + player [ property ] ;
263
+ }
264
+
253
265
queryHandler . updatePlayer ( player ) ;
254
266
255
267
message . success = true ;
256
268
this . socket . sendMessage ( message ) ;
257
269
}
258
270
259
- async function playerMessage ( {
260
- token,
261
- toUsername,
262
- fromUsername,
263
- message
264
- } ) {
271
+ async function playerMessage ( { token, toUsername, fromUsername, message } ) {
265
272
try {
266
273
const worldID = this . server . getPlayerWorld ( toUsername ) ;
267
274
const world = this . server . worlds [ worldID ] ;
@@ -299,8 +306,6 @@ async function webLogin({ token, username, password, ip }) {
299
306
return this . socket . sendMessage ( { token, success : false } ) ;
300
307
}
301
308
302
- queryHandler . setLoginAttempts ( ip , 0 ) ;
303
-
304
309
const player = queryHandler . getWebPlayer ( username ) ;
305
310
306
311
return this . socket . sendMessage ( { token, success : true , player } ) ;
0 commit comments