@@ -11,60 +11,20 @@ namespace BPEssentials.RegisteredEvents
1111 public class OnRegiser : IScript
1212 {
1313
14- [ Target ( GameSourceEvent . ManagerTryRegister , ExecutionMode . Override ) ]
15- public void OnTryRegister ( SvManager svManager , ConnectionData connectionData )
14+ [ Target ( GameSourceEvent . ManagerTryRegister , ExecutionMode . Test ) ]
15+ public bool OnTryRegister ( SvManager svManager , ConnectionData connectionData )
1616 {
17- if ( ValidateUser ( svManager , connectionData ) )
17+ if ( Core . Instance . Settings . General . LimitNames && ! Regex . IsMatch ( connectionData . username , @"^[a-zA-Z0-9_-]+$" ) )
1818 {
19- if ( svManager . TryGetUserData ( connectionData . username , out User playerData ) )
20- {
21- if ( Core . Instance . Settings . General . DisableAccountOverwrite )
22- {
23- svManager . RegisterFail ( connectionData . connection , "This Name has already been registerd and this Server has disabled overwriting Accounts!" ) ;
24- return ;
25- }
26- if ( playerData . PasswordHash != connectionData . passwordHash )
27- {
28- svManager . RegisterFail ( connectionData . connection , "Invalid credentials" ) ;
29- return ;
30- }
31- }
32-
33- if ( ! connectionData . username . ValidCredential ( ) )
34- {
35- svManager . RegisterFail ( connectionData . connection , $ "Name cannot be registered (min: { Util . minCredential } , max: { Util . maxCredential } )") ;
36- return ;
37- }
38- // -- BPE EXTEND
39- if ( Core . Instance . Settings . General . LimitNames && ! Regex . IsMatch ( connectionData . username , @"^[a-zA-Z0-9_-]+$" ) )
40- {
41- svManager . RegisterFail ( connectionData . connection , $ "Your Username can only contain letters: A-Z a-z 0-9 _ -") ;
42- return ;
43- }
44- // BPE EXTEND --
45- svManager . AddNewPlayer ( connectionData , playerData ? . Persistent ) ;
46- }
47- }
48-
49- public bool ValidateUser ( SvManager svManager , ConnectionData authData )
50- {
51- if ( ! svManager . HandleWhitelist ( authData . username ) )
52- {
53- svManager . RegisterFail ( authData . connection , "Account not whitelisted" ) ;
19+ svManager . RegisterFail ( connectionData . connection , $ "Your username can only contain the following characters: A-Z a-z 0-9 _ -") ;
5420 return false ;
5521 }
56-
57- // Don't allow multi-boxing, WebAPI doesn't prevent this
58- foreach ( ShPlayer p in EntityCollections . Humans )
22+ if ( svManager . TryGetUserData ( connectionData . username , out var user ) && Core . Instance . Settings . General . DisableAccountOverwrite )
5923 {
60- if ( p . username == authData . username )
61- {
62- svManager . RegisterFail ( authData . connection , "Account still logged in" ) ;
63- return false ;
64- }
24+ svManager . RegisterFail ( connectionData . connection , "This name has already been registered and this server has disabled overwriting accounts!" ) ;
25+ return false ;
6526 }
66-
6727 return true ;
6828 }
6929 }
70- }
30+ }
0 commit comments