public static PlayerInfo AddFakeEntry( string name, RankChangeType rankChangeType ) {
if( name == null ) throw new ArgumentNullException( "name" );
PlayerInfo info;
lock( AddLocker ) {
info = Trie.Get( name );
if( info != null ) throw new ArgumentException( "A PlayerDB entry already exists for this name." );
var e = new PlayerInfoCreatingEventArgs( name, IPAddress.None, RankManager.DefaultRank, true );
Server.RaisePlayerInfoCreatingEvent( e );
if( e.Cancel ) throw new OperationCanceledException( "Cancelled by a plugin." );
info = new PlayerInfo( name, e.StartingRank, false, rankChangeType );
List.Add( info );
Trie.Add( info.Name, info );
UpdateCache();
}
Server.RaisePlayerInfoCreatedEvent( info, false );
return info;
}