summaryrefslogtreecommitdiff
path: root/NET/worlds/network/AnonRoomServer.java
blob: 8f0d30248b20814d40c457110e0fcb1cf4d6c5c4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package NET.worlds.network;

import NET.worlds.core.IniFile;

public class AnonRoomServer extends WorldServer {
   protected sessionInitCmd buildSessionInitCmd() {
      OldPropertyList props = new OldPropertyList();
      String username = null;

      assert this._galaxy.getLoginMode() != 1;

      assert this._galaxy.getPassword() == null;

      assert this._galaxy.getSerialNum() == null;

      props.addProperty(new netProperty(3, String.valueOf(this.getVersion())));
      props.addProperty(new netProperty(9, String.valueOf(this._clientVersion)));
      this._firstLogon = this._galaxy.addPendingServer(this);

      assert this._firstLogon;

      int avatars = IniFile.gamma().getIniInt("avatars", 24);
      props.addProperty(new netProperty(7, Integer.toString(avatars)));
      switch (this._galaxy.getLoginMode()) {
         case 2:
            assert this._galaxy.getChatname() != null;

            username = this._galaxy.getChatname();
            this.regShortID(1, username);
            props.addProperty(new netProperty(2, username));
            break;
         case 3:
            assert this._galaxy.getGuestExpiration() != null;

            props.addProperty(new netProperty(14, this._galaxy.getGuestExpiration()));
            props.addProperty(new netProperty(12, "1"));
            break;
         default:
            assert false;
      }

      if ((getDebugLevel() & 4) > 0) {
         synchronized (System.out) {
            System.out.println(this._serverURL.getHost() + ": sending AnonRoomServer sessionInit.");
            if (this._firstLogon && this._galaxy.getLoginMode() == 3) {
               System.out.println("             VAR_GUEST");
            } else {
               assert username != null;

               System.out.println("  username = \"" + username + "\"");
            }
         }
      }

      return new sessionInitCmd(props);
   }

   @Override
   protected void state_XMIT_SI() {
      if (this._requestOffline) {
         this._state.setState(17);
      } else {
         sessionInitCmd SI = this.buildSessionInitCmd();
         if (SI != null) {
            try {
               this.sendNetMsg(SI);
            } catch (PacketTooLargeException var3) {
               assert false;
            }

            this._state.setState(8);
         } else {
            this._lastError = new VarErrorException(204);
            this._state.setState(17);
         }
      }
   }
}