// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Cross.proto

package pb.xiugou.x1.protobuf.cross;

public final class Cross {
  private Cross() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface GameConnectConfirmRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.GameConnectConfirmRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *主服务器ID
     * </pre>
     *
     * <code>int32 main_server_id = 1;</code>
     * @return The mainServerId.
     */
    int getMainServerId();

    /**
     * <pre>
     *被合服服务器ID列表
     * </pre>
     *
     * <code>repeated int32 merge_server_ids = 2;</code>
     * @return A list containing the mergeServerIds.
     */
    java.util.List<java.lang.Integer> getMergeServerIdsList();
    /**
     * <pre>
     *被合服服务器ID列表
     * </pre>
     *
     * <code>repeated int32 merge_server_ids = 2;</code>
     * @return The count of mergeServerIds.
     */
    int getMergeServerIdsCount();
    /**
     * <pre>
     *被合服服务器ID列表
     * </pre>
     *
     * <code>repeated int32 merge_server_ids = 2;</code>
     * @param index The index of the element to return.
     * @return The mergeServerIds at the given index.
     */
    int getMergeServerIds(int index);
  }
  /**
   * <pre>
   *服务器连接跨服
   * </pre>
   *
   * Protobuf type {@code pb.GameConnectConfirmRequest}
   */
  public  static final class GameConnectConfirmRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.GameConnectConfirmRequest)
      GameConnectConfirmRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GameConnectConfirmRequest.newBuilder() to construct.
    private GameConnectConfirmRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GameConnectConfirmRequest() {
      mergeServerIds_ = emptyIntList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new GameConnectConfirmRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GameConnectConfirmRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              mainServerId_ = input.readInt32();
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                mergeServerIds_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              mergeServerIds_.addInt(input.readInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                mergeServerIds_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                mergeServerIds_.addInt(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          mergeServerIds_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_GameConnectConfirmRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_GameConnectConfirmRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest.class, pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.GameConnectConfirmRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 101001;</code>
       */
      ID(101001),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 101001;</code>
       */
      public static final int ID_VALUE = 101001;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 101001: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.GameConnectConfirmRequest.Proto)
    }

    public static final int MAIN_SERVER_ID_FIELD_NUMBER = 1;
    private int mainServerId_;
    /**
     * <pre>
     *主服务器ID
     * </pre>
     *
     * <code>int32 main_server_id = 1;</code>
     * @return The mainServerId.
     */
    public int getMainServerId() {
      return mainServerId_;
    }

    public static final int MERGE_SERVER_IDS_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.IntList mergeServerIds_;
    /**
     * <pre>
     *被合服服务器ID列表
     * </pre>
     *
     * <code>repeated int32 merge_server_ids = 2;</code>
     * @return A list containing the mergeServerIds.
     */
    public java.util.List<java.lang.Integer>
        getMergeServerIdsList() {
      return mergeServerIds_;
    }
    /**
     * <pre>
     *被合服服务器ID列表
     * </pre>
     *
     * <code>repeated int32 merge_server_ids = 2;</code>
     * @return The count of mergeServerIds.
     */
    public int getMergeServerIdsCount() {
      return mergeServerIds_.size();
    }
    /**
     * <pre>
     *被合服服务器ID列表
     * </pre>
     *
     * <code>repeated int32 merge_server_ids = 2;</code>
     * @param index The index of the element to return.
     * @return The mergeServerIds at the given index.
     */
    public int getMergeServerIds(int index) {
      return mergeServerIds_.getInt(index);
    }
    private int mergeServerIdsMemoizedSerializedSize = -1;

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (mainServerId_ != 0) {
        output.writeInt32(1, mainServerId_);
      }
      if (getMergeServerIdsList().size() > 0) {
        output.writeUInt32NoTag(18);
        output.writeUInt32NoTag(mergeServerIdsMemoizedSerializedSize);
      }
      for (int i = 0; i < mergeServerIds_.size(); i++) {
        output.writeInt32NoTag(mergeServerIds_.getInt(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (mainServerId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, mainServerId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < mergeServerIds_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(mergeServerIds_.getInt(i));
        }
        size += dataSize;
        if (!getMergeServerIdsList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        mergeServerIdsMemoizedSerializedSize = dataSize;
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest other = (pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest) obj;

      if (getMainServerId()
          != other.getMainServerId()) return false;
      if (!getMergeServerIdsList()
          .equals(other.getMergeServerIdsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + MAIN_SERVER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getMainServerId();
      if (getMergeServerIdsCount() > 0) {
        hash = (37 * hash) + MERGE_SERVER_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getMergeServerIdsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *服务器连接跨服
     * </pre>
     *
     * Protobuf type {@code pb.GameConnectConfirmRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.GameConnectConfirmRequest)
        pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_GameConnectConfirmRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_GameConnectConfirmRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest.class, pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        mainServerId_ = 0;

        mergeServerIds_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_GameConnectConfirmRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest build() {
        pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest buildPartial() {
        pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest result = new pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest(this);
        int from_bitField0_ = bitField0_;
        result.mainServerId_ = mainServerId_;
        if (((bitField0_ & 0x00000001) != 0)) {
          mergeServerIds_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.mergeServerIds_ = mergeServerIds_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest other) {
        if (other == pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest.getDefaultInstance()) return this;
        if (other.getMainServerId() != 0) {
          setMainServerId(other.getMainServerId());
        }
        if (!other.mergeServerIds_.isEmpty()) {
          if (mergeServerIds_.isEmpty()) {
            mergeServerIds_ = other.mergeServerIds_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureMergeServerIdsIsMutable();
            mergeServerIds_.addAll(other.mergeServerIds_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int mainServerId_ ;
      /**
       * <pre>
       *主服务器ID
       * </pre>
       *
       * <code>int32 main_server_id = 1;</code>
       * @return The mainServerId.
       */
      public int getMainServerId() {
        return mainServerId_;
      }
      /**
       * <pre>
       *主服务器ID
       * </pre>
       *
       * <code>int32 main_server_id = 1;</code>
       * @param value The mainServerId to set.
       * @return This builder for chaining.
       */
      public Builder setMainServerId(int value) {
        
        mainServerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *主服务器ID
       * </pre>
       *
       * <code>int32 main_server_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearMainServerId() {
        
        mainServerId_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList mergeServerIds_ = emptyIntList();
      private void ensureMergeServerIdsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          mergeServerIds_ = mutableCopy(mergeServerIds_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       *被合服服务器ID列表
       * </pre>
       *
       * <code>repeated int32 merge_server_ids = 2;</code>
       * @return A list containing the mergeServerIds.
       */
      public java.util.List<java.lang.Integer>
          getMergeServerIdsList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(mergeServerIds_) : mergeServerIds_;
      }
      /**
       * <pre>
       *被合服服务器ID列表
       * </pre>
       *
       * <code>repeated int32 merge_server_ids = 2;</code>
       * @return The count of mergeServerIds.
       */
      public int getMergeServerIdsCount() {
        return mergeServerIds_.size();
      }
      /**
       * <pre>
       *被合服服务器ID列表
       * </pre>
       *
       * <code>repeated int32 merge_server_ids = 2;</code>
       * @param index The index of the element to return.
       * @return The mergeServerIds at the given index.
       */
      public int getMergeServerIds(int index) {
        return mergeServerIds_.getInt(index);
      }
      /**
       * <pre>
       *被合服服务器ID列表
       * </pre>
       *
       * <code>repeated int32 merge_server_ids = 2;</code>
       * @param index The index to set the value at.
       * @param value The mergeServerIds to set.
       * @return This builder for chaining.
       */
      public Builder setMergeServerIds(
          int index, int value) {
        ensureMergeServerIdsIsMutable();
        mergeServerIds_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *被合服服务器ID列表
       * </pre>
       *
       * <code>repeated int32 merge_server_ids = 2;</code>
       * @param value The mergeServerIds to add.
       * @return This builder for chaining.
       */
      public Builder addMergeServerIds(int value) {
        ensureMergeServerIdsIsMutable();
        mergeServerIds_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *被合服服务器ID列表
       * </pre>
       *
       * <code>repeated int32 merge_server_ids = 2;</code>
       * @param values The mergeServerIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllMergeServerIds(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureMergeServerIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, mergeServerIds_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *被合服服务器ID列表
       * </pre>
       *
       * <code>repeated int32 merge_server_ids = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearMergeServerIds() {
        mergeServerIds_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.GameConnectConfirmRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.GameConnectConfirmRequest)
    private static final pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest();
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<GameConnectConfirmRequest>
        PARSER = new com.google.protobuf.AbstractParser<GameConnectConfirmRequest>() {
      @java.lang.Override
      public GameConnectConfirmRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GameConnectConfirmRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<GameConnectConfirmRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<GameConnectConfirmRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GameConnectConfirmResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.GameConnectConfirmResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *主服务器ID
     * </pre>
     *
     * <code>int32 server_id = 1;</code>
     * @return The serverId.
     */
    int getServerId();
  }
  /**
   * Protobuf type {@code pb.GameConnectConfirmResponse}
   */
  public  static final class GameConnectConfirmResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.GameConnectConfirmResponse)
      GameConnectConfirmResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GameConnectConfirmResponse.newBuilder() to construct.
    private GameConnectConfirmResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GameConnectConfirmResponse() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new GameConnectConfirmResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GameConnectConfirmResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              serverId_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_GameConnectConfirmResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_GameConnectConfirmResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse.class, pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.GameConnectConfirmResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 101001;</code>
       */
      ID(101001),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 101001;</code>
       */
      public static final int ID_VALUE = 101001;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 101001: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.GameConnectConfirmResponse.Proto)
    }

    public static final int SERVER_ID_FIELD_NUMBER = 1;
    private int serverId_;
    /**
     * <pre>
     *主服务器ID
     * </pre>
     *
     * <code>int32 server_id = 1;</code>
     * @return The serverId.
     */
    public int getServerId() {
      return serverId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (serverId_ != 0) {
        output.writeInt32(1, serverId_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (serverId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, serverId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse other = (pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse) obj;

      if (getServerId()
          != other.getServerId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + SERVER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getServerId();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.GameConnectConfirmResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.GameConnectConfirmResponse)
        pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_GameConnectConfirmResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_GameConnectConfirmResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse.class, pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        serverId_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_GameConnectConfirmResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse build() {
        pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse buildPartial() {
        pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse result = new pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse(this);
        result.serverId_ = serverId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse other) {
        if (other == pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse.getDefaultInstance()) return this;
        if (other.getServerId() != 0) {
          setServerId(other.getServerId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int serverId_ ;
      /**
       * <pre>
       *主服务器ID
       * </pre>
       *
       * <code>int32 server_id = 1;</code>
       * @return The serverId.
       */
      public int getServerId() {
        return serverId_;
      }
      /**
       * <pre>
       *主服务器ID
       * </pre>
       *
       * <code>int32 server_id = 1;</code>
       * @param value The serverId to set.
       * @return This builder for chaining.
       */
      public Builder setServerId(int value) {
        
        serverId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *主服务器ID
       * </pre>
       *
       * <code>int32 server_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearServerId() {
        
        serverId_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.GameConnectConfirmResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.GameConnectConfirmResponse)
    private static final pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse();
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<GameConnectConfirmResponse>
        PARSER = new com.google.protobuf.AbstractParser<GameConnectConfirmResponse>() {
      @java.lang.Override
      public GameConnectConfirmResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GameConnectConfirmResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<GameConnectConfirmResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<GameConnectConfirmResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.cross.Cross.GameConnectConfirmResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PlayerCrossWrapperOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PlayerCrossWrapper)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *玩家ID
     * </pre>
     *
     * <code>int64 player_id = 1;</code>
     * @return The playerId.
     */
    long getPlayerId();

    /**
     * <pre>
     *消息ID
     * </pre>
     *
     * <code>int32 id = 2;</code>
     * @return The id.
     */
    int getId();

    /**
     * <pre>
     *协议号ID
     * </pre>
     *
     * <code>int32 proto_id = 3;</code>
     * @return The protoId.
     */
    int getProtoId();

    /**
     * <pre>
     *数据
     * </pre>
     *
     * <code>bytes data = 4;</code>
     * @return The data.
     */
    com.google.protobuf.ByteString getData();

    /**
     * <pre>
     *同步ID
     * </pre>
     *
     * <code>int64 sync_id = 5;</code>
     * @return The syncId.
     */
    long getSyncId();
  }
  /**
   * <pre>
   *玩家跨服消息包装
   * </pre>
   *
   * Protobuf type {@code pb.PlayerCrossWrapper}
   */
  public  static final class PlayerCrossWrapper extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PlayerCrossWrapper)
      PlayerCrossWrapperOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PlayerCrossWrapper.newBuilder() to construct.
    private PlayerCrossWrapper(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PlayerCrossWrapper() {
      data_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PlayerCrossWrapper();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PlayerCrossWrapper(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              playerId_ = input.readInt64();
              break;
            }
            case 16: {

              id_ = input.readInt32();
              break;
            }
            case 24: {

              protoId_ = input.readInt32();
              break;
            }
            case 34: {

              data_ = input.readBytes();
              break;
            }
            case 40: {

              syncId_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerCrossWrapper_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerCrossWrapper_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper.class, pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PlayerCrossWrapper.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 101002;</code>
       */
      ID(101002),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 101002;</code>
       */
      public static final int ID_VALUE = 101002;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 101002: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PlayerCrossWrapper.Proto)
    }

    public static final int PLAYER_ID_FIELD_NUMBER = 1;
    private long playerId_;
    /**
     * <pre>
     *玩家ID
     * </pre>
     *
     * <code>int64 player_id = 1;</code>
     * @return The playerId.
     */
    public long getPlayerId() {
      return playerId_;
    }

    public static final int ID_FIELD_NUMBER = 2;
    private int id_;
    /**
     * <pre>
     *消息ID
     * </pre>
     *
     * <code>int32 id = 2;</code>
     * @return The id.
     */
    public int getId() {
      return id_;
    }

    public static final int PROTO_ID_FIELD_NUMBER = 3;
    private int protoId_;
    /**
     * <pre>
     *协议号ID
     * </pre>
     *
     * <code>int32 proto_id = 3;</code>
     * @return The protoId.
     */
    public int getProtoId() {
      return protoId_;
    }

    public static final int DATA_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString data_;
    /**
     * <pre>
     *数据
     * </pre>
     *
     * <code>bytes data = 4;</code>
     * @return The data.
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    public static final int SYNC_ID_FIELD_NUMBER = 5;
    private long syncId_;
    /**
     * <pre>
     *同步ID
     * </pre>
     *
     * <code>int64 sync_id = 5;</code>
     * @return The syncId.
     */
    public long getSyncId() {
      return syncId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (playerId_ != 0L) {
        output.writeInt64(1, playerId_);
      }
      if (id_ != 0) {
        output.writeInt32(2, id_);
      }
      if (protoId_ != 0) {
        output.writeInt32(3, protoId_);
      }
      if (!data_.isEmpty()) {
        output.writeBytes(4, data_);
      }
      if (syncId_ != 0L) {
        output.writeInt64(5, syncId_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (playerId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, playerId_);
      }
      if (id_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, id_);
      }
      if (protoId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, protoId_);
      }
      if (!data_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, data_);
      }
      if (syncId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, syncId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper other = (pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper) obj;

      if (getPlayerId()
          != other.getPlayerId()) return false;
      if (getId()
          != other.getId()) return false;
      if (getProtoId()
          != other.getProtoId()) return false;
      if (!getData()
          .equals(other.getData())) return false;
      if (getSyncId()
          != other.getSyncId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PLAYER_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPlayerId());
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId();
      hash = (37 * hash) + PROTO_ID_FIELD_NUMBER;
      hash = (53 * hash) + getProtoId();
      hash = (37 * hash) + DATA_FIELD_NUMBER;
      hash = (53 * hash) + getData().hashCode();
      hash = (37 * hash) + SYNC_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSyncId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *玩家跨服消息包装
     * </pre>
     *
     * Protobuf type {@code pb.PlayerCrossWrapper}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PlayerCrossWrapper)
        pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapperOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerCrossWrapper_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerCrossWrapper_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper.class, pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        playerId_ = 0L;

        id_ = 0;

        protoId_ = 0;

        data_ = com.google.protobuf.ByteString.EMPTY;

        syncId_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerCrossWrapper_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper build() {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper buildPartial() {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper result = new pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper(this);
        result.playerId_ = playerId_;
        result.id_ = id_;
        result.protoId_ = protoId_;
        result.data_ = data_;
        result.syncId_ = syncId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper) {
          return mergeFrom((pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper other) {
        if (other == pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper.getDefaultInstance()) return this;
        if (other.getPlayerId() != 0L) {
          setPlayerId(other.getPlayerId());
        }
        if (other.getId() != 0) {
          setId(other.getId());
        }
        if (other.getProtoId() != 0) {
          setProtoId(other.getProtoId());
        }
        if (other.getData() != com.google.protobuf.ByteString.EMPTY) {
          setData(other.getData());
        }
        if (other.getSyncId() != 0L) {
          setSyncId(other.getSyncId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long playerId_ ;
      /**
       * <pre>
       *玩家ID
       * </pre>
       *
       * <code>int64 player_id = 1;</code>
       * @return The playerId.
       */
      public long getPlayerId() {
        return playerId_;
      }
      /**
       * <pre>
       *玩家ID
       * </pre>
       *
       * <code>int64 player_id = 1;</code>
       * @param value The playerId to set.
       * @return This builder for chaining.
       */
      public Builder setPlayerId(long value) {
        
        playerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *玩家ID
       * </pre>
       *
       * <code>int64 player_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearPlayerId() {
        
        playerId_ = 0L;
        onChanged();
        return this;
      }

      private int id_ ;
      /**
       * <pre>
       *消息ID
       * </pre>
       *
       * <code>int32 id = 2;</code>
       * @return The id.
       */
      public int getId() {
        return id_;
      }
      /**
       * <pre>
       *消息ID
       * </pre>
       *
       * <code>int32 id = 2;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(int value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *消息ID
       * </pre>
       *
       * <code>int32 id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0;
        onChanged();
        return this;
      }

      private int protoId_ ;
      /**
       * <pre>
       *协议号ID
       * </pre>
       *
       * <code>int32 proto_id = 3;</code>
       * @return The protoId.
       */
      public int getProtoId() {
        return protoId_;
      }
      /**
       * <pre>
       *协议号ID
       * </pre>
       *
       * <code>int32 proto_id = 3;</code>
       * @param value The protoId to set.
       * @return This builder for chaining.
       */
      public Builder setProtoId(int value) {
        
        protoId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *协议号ID
       * </pre>
       *
       * <code>int32 proto_id = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearProtoId() {
        
        protoId_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *数据
       * </pre>
       *
       * <code>bytes data = 4;</code>
       * @return The data.
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * <pre>
       *数据
       * </pre>
       *
       * <code>bytes data = 4;</code>
       * @param value The data to set.
       * @return This builder for chaining.
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *数据
       * </pre>
       *
       * <code>bytes data = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearData() {
        
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      private long syncId_ ;
      /**
       * <pre>
       *同步ID
       * </pre>
       *
       * <code>int64 sync_id = 5;</code>
       * @return The syncId.
       */
      public long getSyncId() {
        return syncId_;
      }
      /**
       * <pre>
       *同步ID
       * </pre>
       *
       * <code>int64 sync_id = 5;</code>
       * @param value The syncId to set.
       * @return This builder for chaining.
       */
      public Builder setSyncId(long value) {
        
        syncId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *同步ID
       * </pre>
       *
       * <code>int64 sync_id = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearSyncId() {
        
        syncId_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PlayerCrossWrapper)
    }

    // @@protoc_insertion_point(class_scope:pb.PlayerCrossWrapper)
    private static final pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper();
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PlayerCrossWrapper>
        PARSER = new com.google.protobuf.AbstractParser<PlayerCrossWrapper>() {
      @java.lang.Override
      public PlayerCrossWrapper parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PlayerCrossWrapper(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PlayerCrossWrapper> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PlayerCrossWrapper> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.cross.Cross.PlayerCrossWrapper getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PlayerToOtherRequestWrapperOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PlayerToOtherRequestWrapper)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *来自玩家ID
     * </pre>
     *
     * <code>int64 from_player_id = 1;</code>
     * @return The fromPlayerId.
     */
    long getFromPlayerId();

    /**
     * <pre>
     *来自玩家的服务器ID
     * </pre>
     *
     * <code>int32 from_server_id = 2;</code>
     * @return The fromServerId.
     */
    int getFromServerId();

    /**
     * <pre>
     *去往玩家ID
     * </pre>
     *
     * <code>int64 to_player_id = 3;</code>
     * @return The toPlayerId.
     */
    long getToPlayerId();

    /**
     * <pre>
     *去往玩家的服务器ID
     * </pre>
     *
     * <code>int32 to_server_id = 4;</code>
     * @return The toServerId.
     */
    int getToServerId();

    /**
     * <pre>
     *消息ID
     * </pre>
     *
     * <code>int32 id = 5;</code>
     * @return The id.
     */
    int getId();

    /**
     * <pre>
     *协议号ID
     * </pre>
     *
     * <code>int32 proto_id = 6;</code>
     * @return The protoId.
     */
    int getProtoId();

    /**
     * <pre>
     *数据
     * </pre>
     *
     * <code>bytes data = 7;</code>
     * @return The data.
     */
    com.google.protobuf.ByteString getData();

    /**
     * <pre>
     *同步ID
     * </pre>
     *
     * <code>int64 sync_id = 8;</code>
     * @return The syncId.
     */
    long getSyncId();
  }
  /**
   * <pre>
   *玩家跨服跳转消息包装
   * </pre>
   *
   * Protobuf type {@code pb.PlayerToOtherRequestWrapper}
   */
  public  static final class PlayerToOtherRequestWrapper extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PlayerToOtherRequestWrapper)
      PlayerToOtherRequestWrapperOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PlayerToOtherRequestWrapper.newBuilder() to construct.
    private PlayerToOtherRequestWrapper(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PlayerToOtherRequestWrapper() {
      data_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PlayerToOtherRequestWrapper();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PlayerToOtherRequestWrapper(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              fromPlayerId_ = input.readInt64();
              break;
            }
            case 16: {

              fromServerId_ = input.readInt32();
              break;
            }
            case 24: {

              toPlayerId_ = input.readInt64();
              break;
            }
            case 32: {

              toServerId_ = input.readInt32();
              break;
            }
            case 40: {

              id_ = input.readInt32();
              break;
            }
            case 48: {

              protoId_ = input.readInt32();
              break;
            }
            case 58: {

              data_ = input.readBytes();
              break;
            }
            case 64: {

              syncId_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerToOtherRequestWrapper_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerToOtherRequestWrapper_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper.class, pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PlayerToOtherRequestWrapper.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 101003;</code>
       */
      ID(101003),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 101003;</code>
       */
      public static final int ID_VALUE = 101003;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 101003: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PlayerToOtherRequestWrapper.Proto)
    }

    public static final int FROM_PLAYER_ID_FIELD_NUMBER = 1;
    private long fromPlayerId_;
    /**
     * <pre>
     *来自玩家ID
     * </pre>
     *
     * <code>int64 from_player_id = 1;</code>
     * @return The fromPlayerId.
     */
    public long getFromPlayerId() {
      return fromPlayerId_;
    }

    public static final int FROM_SERVER_ID_FIELD_NUMBER = 2;
    private int fromServerId_;
    /**
     * <pre>
     *来自玩家的服务器ID
     * </pre>
     *
     * <code>int32 from_server_id = 2;</code>
     * @return The fromServerId.
     */
    public int getFromServerId() {
      return fromServerId_;
    }

    public static final int TO_PLAYER_ID_FIELD_NUMBER = 3;
    private long toPlayerId_;
    /**
     * <pre>
     *去往玩家ID
     * </pre>
     *
     * <code>int64 to_player_id = 3;</code>
     * @return The toPlayerId.
     */
    public long getToPlayerId() {
      return toPlayerId_;
    }

    public static final int TO_SERVER_ID_FIELD_NUMBER = 4;
    private int toServerId_;
    /**
     * <pre>
     *去往玩家的服务器ID
     * </pre>
     *
     * <code>int32 to_server_id = 4;</code>
     * @return The toServerId.
     */
    public int getToServerId() {
      return toServerId_;
    }

    public static final int ID_FIELD_NUMBER = 5;
    private int id_;
    /**
     * <pre>
     *消息ID
     * </pre>
     *
     * <code>int32 id = 5;</code>
     * @return The id.
     */
    public int getId() {
      return id_;
    }

    public static final int PROTO_ID_FIELD_NUMBER = 6;
    private int protoId_;
    /**
     * <pre>
     *协议号ID
     * </pre>
     *
     * <code>int32 proto_id = 6;</code>
     * @return The protoId.
     */
    public int getProtoId() {
      return protoId_;
    }

    public static final int DATA_FIELD_NUMBER = 7;
    private com.google.protobuf.ByteString data_;
    /**
     * <pre>
     *数据
     * </pre>
     *
     * <code>bytes data = 7;</code>
     * @return The data.
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    public static final int SYNC_ID_FIELD_NUMBER = 8;
    private long syncId_;
    /**
     * <pre>
     *同步ID
     * </pre>
     *
     * <code>int64 sync_id = 8;</code>
     * @return The syncId.
     */
    public long getSyncId() {
      return syncId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (fromPlayerId_ != 0L) {
        output.writeInt64(1, fromPlayerId_);
      }
      if (fromServerId_ != 0) {
        output.writeInt32(2, fromServerId_);
      }
      if (toPlayerId_ != 0L) {
        output.writeInt64(3, toPlayerId_);
      }
      if (toServerId_ != 0) {
        output.writeInt32(4, toServerId_);
      }
      if (id_ != 0) {
        output.writeInt32(5, id_);
      }
      if (protoId_ != 0) {
        output.writeInt32(6, protoId_);
      }
      if (!data_.isEmpty()) {
        output.writeBytes(7, data_);
      }
      if (syncId_ != 0L) {
        output.writeInt64(8, syncId_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (fromPlayerId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, fromPlayerId_);
      }
      if (fromServerId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, fromServerId_);
      }
      if (toPlayerId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, toPlayerId_);
      }
      if (toServerId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, toServerId_);
      }
      if (id_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, id_);
      }
      if (protoId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, protoId_);
      }
      if (!data_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(7, data_);
      }
      if (syncId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(8, syncId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper other = (pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper) obj;

      if (getFromPlayerId()
          != other.getFromPlayerId()) return false;
      if (getFromServerId()
          != other.getFromServerId()) return false;
      if (getToPlayerId()
          != other.getToPlayerId()) return false;
      if (getToServerId()
          != other.getToServerId()) return false;
      if (getId()
          != other.getId()) return false;
      if (getProtoId()
          != other.getProtoId()) return false;
      if (!getData()
          .equals(other.getData())) return false;
      if (getSyncId()
          != other.getSyncId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + FROM_PLAYER_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getFromPlayerId());
      hash = (37 * hash) + FROM_SERVER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getFromServerId();
      hash = (37 * hash) + TO_PLAYER_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getToPlayerId());
      hash = (37 * hash) + TO_SERVER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getToServerId();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId();
      hash = (37 * hash) + PROTO_ID_FIELD_NUMBER;
      hash = (53 * hash) + getProtoId();
      hash = (37 * hash) + DATA_FIELD_NUMBER;
      hash = (53 * hash) + getData().hashCode();
      hash = (37 * hash) + SYNC_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSyncId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *玩家跨服跳转消息包装
     * </pre>
     *
     * Protobuf type {@code pb.PlayerToOtherRequestWrapper}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PlayerToOtherRequestWrapper)
        pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapperOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerToOtherRequestWrapper_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerToOtherRequestWrapper_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper.class, pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        fromPlayerId_ = 0L;

        fromServerId_ = 0;

        toPlayerId_ = 0L;

        toServerId_ = 0;

        id_ = 0;

        protoId_ = 0;

        data_ = com.google.protobuf.ByteString.EMPTY;

        syncId_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerToOtherRequestWrapper_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper build() {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper buildPartial() {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper result = new pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper(this);
        result.fromPlayerId_ = fromPlayerId_;
        result.fromServerId_ = fromServerId_;
        result.toPlayerId_ = toPlayerId_;
        result.toServerId_ = toServerId_;
        result.id_ = id_;
        result.protoId_ = protoId_;
        result.data_ = data_;
        result.syncId_ = syncId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper) {
          return mergeFrom((pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper other) {
        if (other == pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper.getDefaultInstance()) return this;
        if (other.getFromPlayerId() != 0L) {
          setFromPlayerId(other.getFromPlayerId());
        }
        if (other.getFromServerId() != 0) {
          setFromServerId(other.getFromServerId());
        }
        if (other.getToPlayerId() != 0L) {
          setToPlayerId(other.getToPlayerId());
        }
        if (other.getToServerId() != 0) {
          setToServerId(other.getToServerId());
        }
        if (other.getId() != 0) {
          setId(other.getId());
        }
        if (other.getProtoId() != 0) {
          setProtoId(other.getProtoId());
        }
        if (other.getData() != com.google.protobuf.ByteString.EMPTY) {
          setData(other.getData());
        }
        if (other.getSyncId() != 0L) {
          setSyncId(other.getSyncId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long fromPlayerId_ ;
      /**
       * <pre>
       *来自玩家ID
       * </pre>
       *
       * <code>int64 from_player_id = 1;</code>
       * @return The fromPlayerId.
       */
      public long getFromPlayerId() {
        return fromPlayerId_;
      }
      /**
       * <pre>
       *来自玩家ID
       * </pre>
       *
       * <code>int64 from_player_id = 1;</code>
       * @param value The fromPlayerId to set.
       * @return This builder for chaining.
       */
      public Builder setFromPlayerId(long value) {
        
        fromPlayerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *来自玩家ID
       * </pre>
       *
       * <code>int64 from_player_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearFromPlayerId() {
        
        fromPlayerId_ = 0L;
        onChanged();
        return this;
      }

      private int fromServerId_ ;
      /**
       * <pre>
       *来自玩家的服务器ID
       * </pre>
       *
       * <code>int32 from_server_id = 2;</code>
       * @return The fromServerId.
       */
      public int getFromServerId() {
        return fromServerId_;
      }
      /**
       * <pre>
       *来自玩家的服务器ID
       * </pre>
       *
       * <code>int32 from_server_id = 2;</code>
       * @param value The fromServerId to set.
       * @return This builder for chaining.
       */
      public Builder setFromServerId(int value) {
        
        fromServerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *来自玩家的服务器ID
       * </pre>
       *
       * <code>int32 from_server_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearFromServerId() {
        
        fromServerId_ = 0;
        onChanged();
        return this;
      }

      private long toPlayerId_ ;
      /**
       * <pre>
       *去往玩家ID
       * </pre>
       *
       * <code>int64 to_player_id = 3;</code>
       * @return The toPlayerId.
       */
      public long getToPlayerId() {
        return toPlayerId_;
      }
      /**
       * <pre>
       *去往玩家ID
       * </pre>
       *
       * <code>int64 to_player_id = 3;</code>
       * @param value The toPlayerId to set.
       * @return This builder for chaining.
       */
      public Builder setToPlayerId(long value) {
        
        toPlayerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *去往玩家ID
       * </pre>
       *
       * <code>int64 to_player_id = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearToPlayerId() {
        
        toPlayerId_ = 0L;
        onChanged();
        return this;
      }

      private int toServerId_ ;
      /**
       * <pre>
       *去往玩家的服务器ID
       * </pre>
       *
       * <code>int32 to_server_id = 4;</code>
       * @return The toServerId.
       */
      public int getToServerId() {
        return toServerId_;
      }
      /**
       * <pre>
       *去往玩家的服务器ID
       * </pre>
       *
       * <code>int32 to_server_id = 4;</code>
       * @param value The toServerId to set.
       * @return This builder for chaining.
       */
      public Builder setToServerId(int value) {
        
        toServerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *去往玩家的服务器ID
       * </pre>
       *
       * <code>int32 to_server_id = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearToServerId() {
        
        toServerId_ = 0;
        onChanged();
        return this;
      }

      private int id_ ;
      /**
       * <pre>
       *消息ID
       * </pre>
       *
       * <code>int32 id = 5;</code>
       * @return The id.
       */
      public int getId() {
        return id_;
      }
      /**
       * <pre>
       *消息ID
       * </pre>
       *
       * <code>int32 id = 5;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(int value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *消息ID
       * </pre>
       *
       * <code>int32 id = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0;
        onChanged();
        return this;
      }

      private int protoId_ ;
      /**
       * <pre>
       *协议号ID
       * </pre>
       *
       * <code>int32 proto_id = 6;</code>
       * @return The protoId.
       */
      public int getProtoId() {
        return protoId_;
      }
      /**
       * <pre>
       *协议号ID
       * </pre>
       *
       * <code>int32 proto_id = 6;</code>
       * @param value The protoId to set.
       * @return This builder for chaining.
       */
      public Builder setProtoId(int value) {
        
        protoId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *协议号ID
       * </pre>
       *
       * <code>int32 proto_id = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearProtoId() {
        
        protoId_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *数据
       * </pre>
       *
       * <code>bytes data = 7;</code>
       * @return The data.
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * <pre>
       *数据
       * </pre>
       *
       * <code>bytes data = 7;</code>
       * @param value The data to set.
       * @return This builder for chaining.
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *数据
       * </pre>
       *
       * <code>bytes data = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearData() {
        
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      private long syncId_ ;
      /**
       * <pre>
       *同步ID
       * </pre>
       *
       * <code>int64 sync_id = 8;</code>
       * @return The syncId.
       */
      public long getSyncId() {
        return syncId_;
      }
      /**
       * <pre>
       *同步ID
       * </pre>
       *
       * <code>int64 sync_id = 8;</code>
       * @param value The syncId to set.
       * @return This builder for chaining.
       */
      public Builder setSyncId(long value) {
        
        syncId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *同步ID
       * </pre>
       *
       * <code>int64 sync_id = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearSyncId() {
        
        syncId_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PlayerToOtherRequestWrapper)
    }

    // @@protoc_insertion_point(class_scope:pb.PlayerToOtherRequestWrapper)
    private static final pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper();
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PlayerToOtherRequestWrapper>
        PARSER = new com.google.protobuf.AbstractParser<PlayerToOtherRequestWrapper>() {
      @java.lang.Override
      public PlayerToOtherRequestWrapper parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PlayerToOtherRequestWrapper(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PlayerToOtherRequestWrapper> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PlayerToOtherRequestWrapper> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherRequestWrapper getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PlayerToOtherResponseWrapperOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PlayerToOtherResponseWrapper)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *来自玩家ID
     * </pre>
     *
     * <code>int64 from_player_id = 1;</code>
     * @return The fromPlayerId.
     */
    long getFromPlayerId();

    /**
     * <pre>
     *来自玩家的服务器ID
     * </pre>
     *
     * <code>int32 from_server_id = 2;</code>
     * @return The fromServerId.
     */
    int getFromServerId();

    /**
     * <pre>
     *去往玩家ID
     * </pre>
     *
     * <code>int64 to_player_id = 3;</code>
     * @return The toPlayerId.
     */
    long getToPlayerId();

    /**
     * <pre>
     *去往玩家的服务器ID
     * </pre>
     *
     * <code>int32 to_server_id = 4;</code>
     * @return The toServerId.
     */
    int getToServerId();

    /**
     * <pre>
     *消息ID
     * </pre>
     *
     * <code>int32 id = 5;</code>
     * @return The id.
     */
    int getId();

    /**
     * <pre>
     *协议号ID
     * </pre>
     *
     * <code>int32 proto_id = 6;</code>
     * @return The protoId.
     */
    int getProtoId();

    /**
     * <pre>
     *数据
     * </pre>
     *
     * <code>bytes data = 7;</code>
     * @return The data.
     */
    com.google.protobuf.ByteString getData();

    /**
     * <pre>
     *同步ID
     * </pre>
     *
     * <code>int64 sync_id = 8;</code>
     * @return The syncId.
     */
    long getSyncId();
  }
  /**
   * <pre>
   *玩家跨服跳转消息包装
   * </pre>
   *
   * Protobuf type {@code pb.PlayerToOtherResponseWrapper}
   */
  public  static final class PlayerToOtherResponseWrapper extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PlayerToOtherResponseWrapper)
      PlayerToOtherResponseWrapperOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PlayerToOtherResponseWrapper.newBuilder() to construct.
    private PlayerToOtherResponseWrapper(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PlayerToOtherResponseWrapper() {
      data_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PlayerToOtherResponseWrapper();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PlayerToOtherResponseWrapper(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              fromPlayerId_ = input.readInt64();
              break;
            }
            case 16: {

              fromServerId_ = input.readInt32();
              break;
            }
            case 24: {

              toPlayerId_ = input.readInt64();
              break;
            }
            case 32: {

              toServerId_ = input.readInt32();
              break;
            }
            case 40: {

              id_ = input.readInt32();
              break;
            }
            case 48: {

              protoId_ = input.readInt32();
              break;
            }
            case 58: {

              data_ = input.readBytes();
              break;
            }
            case 64: {

              syncId_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerToOtherResponseWrapper_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerToOtherResponseWrapper_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper.class, pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PlayerToOtherResponseWrapper.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 101004;</code>
       */
      ID(101004),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 101004;</code>
       */
      public static final int ID_VALUE = 101004;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 101004: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PlayerToOtherResponseWrapper.Proto)
    }

    public static final int FROM_PLAYER_ID_FIELD_NUMBER = 1;
    private long fromPlayerId_;
    /**
     * <pre>
     *来自玩家ID
     * </pre>
     *
     * <code>int64 from_player_id = 1;</code>
     * @return The fromPlayerId.
     */
    public long getFromPlayerId() {
      return fromPlayerId_;
    }

    public static final int FROM_SERVER_ID_FIELD_NUMBER = 2;
    private int fromServerId_;
    /**
     * <pre>
     *来自玩家的服务器ID
     * </pre>
     *
     * <code>int32 from_server_id = 2;</code>
     * @return The fromServerId.
     */
    public int getFromServerId() {
      return fromServerId_;
    }

    public static final int TO_PLAYER_ID_FIELD_NUMBER = 3;
    private long toPlayerId_;
    /**
     * <pre>
     *去往玩家ID
     * </pre>
     *
     * <code>int64 to_player_id = 3;</code>
     * @return The toPlayerId.
     */
    public long getToPlayerId() {
      return toPlayerId_;
    }

    public static final int TO_SERVER_ID_FIELD_NUMBER = 4;
    private int toServerId_;
    /**
     * <pre>
     *去往玩家的服务器ID
     * </pre>
     *
     * <code>int32 to_server_id = 4;</code>
     * @return The toServerId.
     */
    public int getToServerId() {
      return toServerId_;
    }

    public static final int ID_FIELD_NUMBER = 5;
    private int id_;
    /**
     * <pre>
     *消息ID
     * </pre>
     *
     * <code>int32 id = 5;</code>
     * @return The id.
     */
    public int getId() {
      return id_;
    }

    public static final int PROTO_ID_FIELD_NUMBER = 6;
    private int protoId_;
    /**
     * <pre>
     *协议号ID
     * </pre>
     *
     * <code>int32 proto_id = 6;</code>
     * @return The protoId.
     */
    public int getProtoId() {
      return protoId_;
    }

    public static final int DATA_FIELD_NUMBER = 7;
    private com.google.protobuf.ByteString data_;
    /**
     * <pre>
     *数据
     * </pre>
     *
     * <code>bytes data = 7;</code>
     * @return The data.
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    public static final int SYNC_ID_FIELD_NUMBER = 8;
    private long syncId_;
    /**
     * <pre>
     *同步ID
     * </pre>
     *
     * <code>int64 sync_id = 8;</code>
     * @return The syncId.
     */
    public long getSyncId() {
      return syncId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (fromPlayerId_ != 0L) {
        output.writeInt64(1, fromPlayerId_);
      }
      if (fromServerId_ != 0) {
        output.writeInt32(2, fromServerId_);
      }
      if (toPlayerId_ != 0L) {
        output.writeInt64(3, toPlayerId_);
      }
      if (toServerId_ != 0) {
        output.writeInt32(4, toServerId_);
      }
      if (id_ != 0) {
        output.writeInt32(5, id_);
      }
      if (protoId_ != 0) {
        output.writeInt32(6, protoId_);
      }
      if (!data_.isEmpty()) {
        output.writeBytes(7, data_);
      }
      if (syncId_ != 0L) {
        output.writeInt64(8, syncId_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (fromPlayerId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, fromPlayerId_);
      }
      if (fromServerId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, fromServerId_);
      }
      if (toPlayerId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, toPlayerId_);
      }
      if (toServerId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, toServerId_);
      }
      if (id_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, id_);
      }
      if (protoId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, protoId_);
      }
      if (!data_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(7, data_);
      }
      if (syncId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(8, syncId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper other = (pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper) obj;

      if (getFromPlayerId()
          != other.getFromPlayerId()) return false;
      if (getFromServerId()
          != other.getFromServerId()) return false;
      if (getToPlayerId()
          != other.getToPlayerId()) return false;
      if (getToServerId()
          != other.getToServerId()) return false;
      if (getId()
          != other.getId()) return false;
      if (getProtoId()
          != other.getProtoId()) return false;
      if (!getData()
          .equals(other.getData())) return false;
      if (getSyncId()
          != other.getSyncId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + FROM_PLAYER_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getFromPlayerId());
      hash = (37 * hash) + FROM_SERVER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getFromServerId();
      hash = (37 * hash) + TO_PLAYER_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getToPlayerId());
      hash = (37 * hash) + TO_SERVER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getToServerId();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId();
      hash = (37 * hash) + PROTO_ID_FIELD_NUMBER;
      hash = (53 * hash) + getProtoId();
      hash = (37 * hash) + DATA_FIELD_NUMBER;
      hash = (53 * hash) + getData().hashCode();
      hash = (37 * hash) + SYNC_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSyncId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *玩家跨服跳转消息包装
     * </pre>
     *
     * Protobuf type {@code pb.PlayerToOtherResponseWrapper}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PlayerToOtherResponseWrapper)
        pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapperOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerToOtherResponseWrapper_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerToOtherResponseWrapper_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper.class, pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        fromPlayerId_ = 0L;

        fromServerId_ = 0;

        toPlayerId_ = 0L;

        toServerId_ = 0;

        id_ = 0;

        protoId_ = 0;

        data_ = com.google.protobuf.ByteString.EMPTY;

        syncId_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerToOtherResponseWrapper_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper build() {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper buildPartial() {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper result = new pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper(this);
        result.fromPlayerId_ = fromPlayerId_;
        result.fromServerId_ = fromServerId_;
        result.toPlayerId_ = toPlayerId_;
        result.toServerId_ = toServerId_;
        result.id_ = id_;
        result.protoId_ = protoId_;
        result.data_ = data_;
        result.syncId_ = syncId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper) {
          return mergeFrom((pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper other) {
        if (other == pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper.getDefaultInstance()) return this;
        if (other.getFromPlayerId() != 0L) {
          setFromPlayerId(other.getFromPlayerId());
        }
        if (other.getFromServerId() != 0) {
          setFromServerId(other.getFromServerId());
        }
        if (other.getToPlayerId() != 0L) {
          setToPlayerId(other.getToPlayerId());
        }
        if (other.getToServerId() != 0) {
          setToServerId(other.getToServerId());
        }
        if (other.getId() != 0) {
          setId(other.getId());
        }
        if (other.getProtoId() != 0) {
          setProtoId(other.getProtoId());
        }
        if (other.getData() != com.google.protobuf.ByteString.EMPTY) {
          setData(other.getData());
        }
        if (other.getSyncId() != 0L) {
          setSyncId(other.getSyncId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long fromPlayerId_ ;
      /**
       * <pre>
       *来自玩家ID
       * </pre>
       *
       * <code>int64 from_player_id = 1;</code>
       * @return The fromPlayerId.
       */
      public long getFromPlayerId() {
        return fromPlayerId_;
      }
      /**
       * <pre>
       *来自玩家ID
       * </pre>
       *
       * <code>int64 from_player_id = 1;</code>
       * @param value The fromPlayerId to set.
       * @return This builder for chaining.
       */
      public Builder setFromPlayerId(long value) {
        
        fromPlayerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *来自玩家ID
       * </pre>
       *
       * <code>int64 from_player_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearFromPlayerId() {
        
        fromPlayerId_ = 0L;
        onChanged();
        return this;
      }

      private int fromServerId_ ;
      /**
       * <pre>
       *来自玩家的服务器ID
       * </pre>
       *
       * <code>int32 from_server_id = 2;</code>
       * @return The fromServerId.
       */
      public int getFromServerId() {
        return fromServerId_;
      }
      /**
       * <pre>
       *来自玩家的服务器ID
       * </pre>
       *
       * <code>int32 from_server_id = 2;</code>
       * @param value The fromServerId to set.
       * @return This builder for chaining.
       */
      public Builder setFromServerId(int value) {
        
        fromServerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *来自玩家的服务器ID
       * </pre>
       *
       * <code>int32 from_server_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearFromServerId() {
        
        fromServerId_ = 0;
        onChanged();
        return this;
      }

      private long toPlayerId_ ;
      /**
       * <pre>
       *去往玩家ID
       * </pre>
       *
       * <code>int64 to_player_id = 3;</code>
       * @return The toPlayerId.
       */
      public long getToPlayerId() {
        return toPlayerId_;
      }
      /**
       * <pre>
       *去往玩家ID
       * </pre>
       *
       * <code>int64 to_player_id = 3;</code>
       * @param value The toPlayerId to set.
       * @return This builder for chaining.
       */
      public Builder setToPlayerId(long value) {
        
        toPlayerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *去往玩家ID
       * </pre>
       *
       * <code>int64 to_player_id = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearToPlayerId() {
        
        toPlayerId_ = 0L;
        onChanged();
        return this;
      }

      private int toServerId_ ;
      /**
       * <pre>
       *去往玩家的服务器ID
       * </pre>
       *
       * <code>int32 to_server_id = 4;</code>
       * @return The toServerId.
       */
      public int getToServerId() {
        return toServerId_;
      }
      /**
       * <pre>
       *去往玩家的服务器ID
       * </pre>
       *
       * <code>int32 to_server_id = 4;</code>
       * @param value The toServerId to set.
       * @return This builder for chaining.
       */
      public Builder setToServerId(int value) {
        
        toServerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *去往玩家的服务器ID
       * </pre>
       *
       * <code>int32 to_server_id = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearToServerId() {
        
        toServerId_ = 0;
        onChanged();
        return this;
      }

      private int id_ ;
      /**
       * <pre>
       *消息ID
       * </pre>
       *
       * <code>int32 id = 5;</code>
       * @return The id.
       */
      public int getId() {
        return id_;
      }
      /**
       * <pre>
       *消息ID
       * </pre>
       *
       * <code>int32 id = 5;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(int value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *消息ID
       * </pre>
       *
       * <code>int32 id = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0;
        onChanged();
        return this;
      }

      private int protoId_ ;
      /**
       * <pre>
       *协议号ID
       * </pre>
       *
       * <code>int32 proto_id = 6;</code>
       * @return The protoId.
       */
      public int getProtoId() {
        return protoId_;
      }
      /**
       * <pre>
       *协议号ID
       * </pre>
       *
       * <code>int32 proto_id = 6;</code>
       * @param value The protoId to set.
       * @return This builder for chaining.
       */
      public Builder setProtoId(int value) {
        
        protoId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *协议号ID
       * </pre>
       *
       * <code>int32 proto_id = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearProtoId() {
        
        protoId_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *数据
       * </pre>
       *
       * <code>bytes data = 7;</code>
       * @return The data.
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * <pre>
       *数据
       * </pre>
       *
       * <code>bytes data = 7;</code>
       * @param value The data to set.
       * @return This builder for chaining.
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *数据
       * </pre>
       *
       * <code>bytes data = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearData() {
        
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      private long syncId_ ;
      /**
       * <pre>
       *同步ID
       * </pre>
       *
       * <code>int64 sync_id = 8;</code>
       * @return The syncId.
       */
      public long getSyncId() {
        return syncId_;
      }
      /**
       * <pre>
       *同步ID
       * </pre>
       *
       * <code>int64 sync_id = 8;</code>
       * @param value The syncId to set.
       * @return This builder for chaining.
       */
      public Builder setSyncId(long value) {
        
        syncId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *同步ID
       * </pre>
       *
       * <code>int64 sync_id = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearSyncId() {
        
        syncId_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PlayerToOtherResponseWrapper)
    }

    // @@protoc_insertion_point(class_scope:pb.PlayerToOtherResponseWrapper)
    private static final pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper();
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PlayerToOtherResponseWrapper>
        PARSER = new com.google.protobuf.AbstractParser<PlayerToOtherResponseWrapper>() {
      @java.lang.Override
      public PlayerToOtherResponseWrapper parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PlayerToOtherResponseWrapper(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PlayerToOtherResponseWrapper> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PlayerToOtherResponseWrapper> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.cross.Cross.PlayerToOtherResponseWrapper getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PlayerTestSyncWriteRpcRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PlayerTestSyncWriteRpcRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 some_id = 1;</code>
     * @return The someId.
     */
    int getSomeId();

    /**
     * <code>string some_str = 2;</code>
     * @return The someStr.
     */
    java.lang.String getSomeStr();
    /**
     * <code>string some_str = 2;</code>
     * @return The bytes for someStr.
     */
    com.google.protobuf.ByteString
        getSomeStrBytes();
  }
  /**
   * <pre>
   *测试同步请求RPC
   * </pre>
   *
   * Protobuf type {@code pb.PlayerTestSyncWriteRpcRequest}
   */
  public  static final class PlayerTestSyncWriteRpcRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PlayerTestSyncWriteRpcRequest)
      PlayerTestSyncWriteRpcRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PlayerTestSyncWriteRpcRequest.newBuilder() to construct.
    private PlayerTestSyncWriteRpcRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PlayerTestSyncWriteRpcRequest() {
      someStr_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PlayerTestSyncWriteRpcRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PlayerTestSyncWriteRpcRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              someId_ = input.readInt32();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              someStr_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerTestSyncWriteRpcRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerTestSyncWriteRpcRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest.class, pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PlayerTestSyncWriteRpcRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 101005;</code>
       */
      ID(101005),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 101005;</code>
       */
      public static final int ID_VALUE = 101005;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 101005: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PlayerTestSyncWriteRpcRequest.Proto)
    }

    public static final int SOME_ID_FIELD_NUMBER = 1;
    private int someId_;
    /**
     * <code>int32 some_id = 1;</code>
     * @return The someId.
     */
    public int getSomeId() {
      return someId_;
    }

    public static final int SOME_STR_FIELD_NUMBER = 2;
    private volatile java.lang.Object someStr_;
    /**
     * <code>string some_str = 2;</code>
     * @return The someStr.
     */
    public java.lang.String getSomeStr() {
      java.lang.Object ref = someStr_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        someStr_ = s;
        return s;
      }
    }
    /**
     * <code>string some_str = 2;</code>
     * @return The bytes for someStr.
     */
    public com.google.protobuf.ByteString
        getSomeStrBytes() {
      java.lang.Object ref = someStr_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        someStr_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (someId_ != 0) {
        output.writeInt32(1, someId_);
      }
      if (!getSomeStrBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, someStr_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (someId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, someId_);
      }
      if (!getSomeStrBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, someStr_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest other = (pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest) obj;

      if (getSomeId()
          != other.getSomeId()) return false;
      if (!getSomeStr()
          .equals(other.getSomeStr())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + SOME_ID_FIELD_NUMBER;
      hash = (53 * hash) + getSomeId();
      hash = (37 * hash) + SOME_STR_FIELD_NUMBER;
      hash = (53 * hash) + getSomeStr().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *测试同步请求RPC
     * </pre>
     *
     * Protobuf type {@code pb.PlayerTestSyncWriteRpcRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PlayerTestSyncWriteRpcRequest)
        pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerTestSyncWriteRpcRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerTestSyncWriteRpcRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest.class, pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        someId_ = 0;

        someStr_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerTestSyncWriteRpcRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest build() {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest buildPartial() {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest result = new pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest(this);
        result.someId_ = someId_;
        result.someStr_ = someStr_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest other) {
        if (other == pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest.getDefaultInstance()) return this;
        if (other.getSomeId() != 0) {
          setSomeId(other.getSomeId());
        }
        if (!other.getSomeStr().isEmpty()) {
          someStr_ = other.someStr_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int someId_ ;
      /**
       * <code>int32 some_id = 1;</code>
       * @return The someId.
       */
      public int getSomeId() {
        return someId_;
      }
      /**
       * <code>int32 some_id = 1;</code>
       * @param value The someId to set.
       * @return This builder for chaining.
       */
      public Builder setSomeId(int value) {
        
        someId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 some_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSomeId() {
        
        someId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object someStr_ = "";
      /**
       * <code>string some_str = 2;</code>
       * @return The someStr.
       */
      public java.lang.String getSomeStr() {
        java.lang.Object ref = someStr_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          someStr_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string some_str = 2;</code>
       * @return The bytes for someStr.
       */
      public com.google.protobuf.ByteString
          getSomeStrBytes() {
        java.lang.Object ref = someStr_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          someStr_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string some_str = 2;</code>
       * @param value The someStr to set.
       * @return This builder for chaining.
       */
      public Builder setSomeStr(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        someStr_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string some_str = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSomeStr() {
        
        someStr_ = getDefaultInstance().getSomeStr();
        onChanged();
        return this;
      }
      /**
       * <code>string some_str = 2;</code>
       * @param value The bytes for someStr to set.
       * @return This builder for chaining.
       */
      public Builder setSomeStrBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        someStr_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PlayerTestSyncWriteRpcRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.PlayerTestSyncWriteRpcRequest)
    private static final pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest();
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PlayerTestSyncWriteRpcRequest>
        PARSER = new com.google.protobuf.AbstractParser<PlayerTestSyncWriteRpcRequest>() {
      @java.lang.Override
      public PlayerTestSyncWriteRpcRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PlayerTestSyncWriteRpcRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PlayerTestSyncWriteRpcRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PlayerTestSyncWriteRpcRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PlayerTestSyncWriteRpcResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PlayerTestSyncWriteRpcResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 some_id = 1;</code>
     * @return The someId.
     */
    int getSomeId();

    /**
     * <code>string some_str = 2;</code>
     * @return The someStr.
     */
    java.lang.String getSomeStr();
    /**
     * <code>string some_str = 2;</code>
     * @return The bytes for someStr.
     */
    com.google.protobuf.ByteString
        getSomeStrBytes();
  }
  /**
   * Protobuf type {@code pb.PlayerTestSyncWriteRpcResponse}
   */
  public  static final class PlayerTestSyncWriteRpcResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PlayerTestSyncWriteRpcResponse)
      PlayerTestSyncWriteRpcResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PlayerTestSyncWriteRpcResponse.newBuilder() to construct.
    private PlayerTestSyncWriteRpcResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PlayerTestSyncWriteRpcResponse() {
      someStr_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PlayerTestSyncWriteRpcResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PlayerTestSyncWriteRpcResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              someId_ = input.readInt32();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              someStr_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerTestSyncWriteRpcResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerTestSyncWriteRpcResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse.class, pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PlayerTestSyncWriteRpcResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 101005;</code>
       */
      ID(101005),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 101005;</code>
       */
      public static final int ID_VALUE = 101005;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 101005: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PlayerTestSyncWriteRpcResponse.Proto)
    }

    public static final int SOME_ID_FIELD_NUMBER = 1;
    private int someId_;
    /**
     * <code>int32 some_id = 1;</code>
     * @return The someId.
     */
    public int getSomeId() {
      return someId_;
    }

    public static final int SOME_STR_FIELD_NUMBER = 2;
    private volatile java.lang.Object someStr_;
    /**
     * <code>string some_str = 2;</code>
     * @return The someStr.
     */
    public java.lang.String getSomeStr() {
      java.lang.Object ref = someStr_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        someStr_ = s;
        return s;
      }
    }
    /**
     * <code>string some_str = 2;</code>
     * @return The bytes for someStr.
     */
    public com.google.protobuf.ByteString
        getSomeStrBytes() {
      java.lang.Object ref = someStr_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        someStr_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (someId_ != 0) {
        output.writeInt32(1, someId_);
      }
      if (!getSomeStrBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, someStr_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (someId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, someId_);
      }
      if (!getSomeStrBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, someStr_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse other = (pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse) obj;

      if (getSomeId()
          != other.getSomeId()) return false;
      if (!getSomeStr()
          .equals(other.getSomeStr())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + SOME_ID_FIELD_NUMBER;
      hash = (53 * hash) + getSomeId();
      hash = (37 * hash) + SOME_STR_FIELD_NUMBER;
      hash = (53 * hash) + getSomeStr().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.PlayerTestSyncWriteRpcResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PlayerTestSyncWriteRpcResponse)
        pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerTestSyncWriteRpcResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerTestSyncWriteRpcResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse.class, pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        someId_ = 0;

        someStr_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.internal_static_pb_PlayerTestSyncWriteRpcResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse build() {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse buildPartial() {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse result = new pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse(this);
        result.someId_ = someId_;
        result.someStr_ = someStr_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse other) {
        if (other == pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse.getDefaultInstance()) return this;
        if (other.getSomeId() != 0) {
          setSomeId(other.getSomeId());
        }
        if (!other.getSomeStr().isEmpty()) {
          someStr_ = other.someStr_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int someId_ ;
      /**
       * <code>int32 some_id = 1;</code>
       * @return The someId.
       */
      public int getSomeId() {
        return someId_;
      }
      /**
       * <code>int32 some_id = 1;</code>
       * @param value The someId to set.
       * @return This builder for chaining.
       */
      public Builder setSomeId(int value) {
        
        someId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 some_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSomeId() {
        
        someId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object someStr_ = "";
      /**
       * <code>string some_str = 2;</code>
       * @return The someStr.
       */
      public java.lang.String getSomeStr() {
        java.lang.Object ref = someStr_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          someStr_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string some_str = 2;</code>
       * @return The bytes for someStr.
       */
      public com.google.protobuf.ByteString
          getSomeStrBytes() {
        java.lang.Object ref = someStr_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          someStr_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string some_str = 2;</code>
       * @param value The someStr to set.
       * @return This builder for chaining.
       */
      public Builder setSomeStr(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        someStr_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string some_str = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSomeStr() {
        
        someStr_ = getDefaultInstance().getSomeStr();
        onChanged();
        return this;
      }
      /**
       * <code>string some_str = 2;</code>
       * @param value The bytes for someStr to set.
       * @return This builder for chaining.
       */
      public Builder setSomeStrBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        someStr_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PlayerTestSyncWriteRpcResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.PlayerTestSyncWriteRpcResponse)
    private static final pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse();
    }

    public static pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PlayerTestSyncWriteRpcResponse>
        PARSER = new com.google.protobuf.AbstractParser<PlayerTestSyncWriteRpcResponse>() {
      @java.lang.Override
      public PlayerTestSyncWriteRpcResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PlayerTestSyncWriteRpcResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PlayerTestSyncWriteRpcResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PlayerTestSyncWriteRpcResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.cross.Cross.PlayerTestSyncWriteRpcResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_GameConnectConfirmRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_GameConnectConfirmRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_GameConnectConfirmResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_GameConnectConfirmResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PlayerCrossWrapper_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PlayerCrossWrapper_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PlayerToOtherRequestWrapper_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PlayerToOtherRequestWrapper_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PlayerToOtherResponseWrapper_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PlayerToOtherResponseWrapper_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PlayerTestSyncWriteRpcRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PlayerTestSyncWriteRpcRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PlayerTestSyncWriteRpcResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PlayerTestSyncWriteRpcResponse_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\013Cross.proto\022\002pb\"m\n\031GameConnectConfirmR" +
      "equest\022\026\n\016main_server_id\030\001 \001(\005\022\030\n\020merge_" +
      "server_ids\030\002 \003(\005\"\036\n\005Proto\022\013\n\007UNKNOWN\020\000\022\010" +
      "\n\002ID\020\211\225\006\"O\n\032GameConnectConfirmResponse\022\021" +
      "\n\tserver_id\030\001 \001(\005\"\036\n\005Proto\022\013\n\007UNKNOWN\020\000\022" +
      "\010\n\002ID\020\211\225\006\"\204\001\n\022PlayerCrossWrapper\022\021\n\tplay" +
      "er_id\030\001 \001(\003\022\n\n\002id\030\002 \001(\005\022\020\n\010proto_id\030\003 \001(" +
      "\005\022\014\n\004data\030\004 \001(\014\022\017\n\007sync_id\030\005 \001(\003\"\036\n\005Prot" +
      "o\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\212\225\006\"\326\001\n\033PlayerToOth" +
      "erRequestWrapper\022\026\n\016from_player_id\030\001 \001(\003" +
      "\022\026\n\016from_server_id\030\002 \001(\005\022\024\n\014to_player_id" +
      "\030\003 \001(\003\022\024\n\014to_server_id\030\004 \001(\005\022\n\n\002id\030\005 \001(\005" +
      "\022\020\n\010proto_id\030\006 \001(\005\022\014\n\004data\030\007 \001(\014\022\017\n\007sync" +
      "_id\030\010 \001(\003\"\036\n\005Proto\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\213\225" +
      "\006\"\327\001\n\034PlayerToOtherResponseWrapper\022\026\n\016fr" +
      "om_player_id\030\001 \001(\003\022\026\n\016from_server_id\030\002 \001" +
      "(\005\022\024\n\014to_player_id\030\003 \001(\003\022\024\n\014to_server_id" +
      "\030\004 \001(\005\022\n\n\002id\030\005 \001(\005\022\020\n\010proto_id\030\006 \001(\005\022\014\n\004" +
      "data\030\007 \001(\014\022\017\n\007sync_id\030\010 \001(\003\"\036\n\005Proto\022\013\n\007" +
      "UNKNOWN\020\000\022\010\n\002ID\020\214\225\006\"b\n\035PlayerTestSyncWri" +
      "teRpcRequest\022\017\n\007some_id\030\001 \001(\005\022\020\n\010some_st" +
      "r\030\002 \001(\t\"\036\n\005Proto\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\215\225\006\"" +
      "c\n\036PlayerTestSyncWriteRpcResponse\022\017\n\007som" +
      "e_id\030\001 \001(\005\022\020\n\010some_str\030\002 \001(\t\"\036\n\005Proto\022\013\n" +
      "\007UNKNOWN\020\000\022\010\n\002ID\020\215\225\006B5\n\033pb.xiugou.x1.pro" +
      "tobuf.cross\252\002\025pb.xiugou.x1.protobufb\006pro" +
      "to3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_pb_GameConnectConfirmRequest_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_pb_GameConnectConfirmRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_GameConnectConfirmRequest_descriptor,
        new java.lang.String[] { "MainServerId", "MergeServerIds", });
    internal_static_pb_GameConnectConfirmResponse_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_pb_GameConnectConfirmResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_GameConnectConfirmResponse_descriptor,
        new java.lang.String[] { "ServerId", });
    internal_static_pb_PlayerCrossWrapper_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_pb_PlayerCrossWrapper_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PlayerCrossWrapper_descriptor,
        new java.lang.String[] { "PlayerId", "Id", "ProtoId", "Data", "SyncId", });
    internal_static_pb_PlayerToOtherRequestWrapper_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_pb_PlayerToOtherRequestWrapper_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PlayerToOtherRequestWrapper_descriptor,
        new java.lang.String[] { "FromPlayerId", "FromServerId", "ToPlayerId", "ToServerId", "Id", "ProtoId", "Data", "SyncId", });
    internal_static_pb_PlayerToOtherResponseWrapper_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_pb_PlayerToOtherResponseWrapper_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PlayerToOtherResponseWrapper_descriptor,
        new java.lang.String[] { "FromPlayerId", "FromServerId", "ToPlayerId", "ToServerId", "Id", "ProtoId", "Data", "SyncId", });
    internal_static_pb_PlayerTestSyncWriteRpcRequest_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_pb_PlayerTestSyncWriteRpcRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PlayerTestSyncWriteRpcRequest_descriptor,
        new java.lang.String[] { "SomeId", "SomeStr", });
    internal_static_pb_PlayerTestSyncWriteRpcResponse_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_pb_PlayerTestSyncWriteRpcResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PlayerTestSyncWriteRpcResponse_descriptor,
        new java.lang.String[] { "SomeId", "SomeStr", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
