public byte[] SerializePlayerInfo()
        {
            var writer = new ByteWriter();

            writer.WriteInt32(id);
            writer.WriteString(Username);
            writer.WriteInt32(Latency);
            writer.WriteByte((byte)type);
            writer.WriteByte((byte)status);
            writer.WriteULong(steamId);
            writer.WriteString(steamPersonaName);

            return(writer.ToArray());
        }
Example #2
0
        public byte[] SerializePlayerInfo()
        {
            var writer = new ByteWriter();

            writer.WriteInt32(id);
            writer.WriteString(Username);
            writer.WriteInt32(Latency);
            writer.WriteByte((byte)type);
            writer.WriteByte((byte)status);
            writer.WriteULong(steamId);
            writer.WriteString(steamPersonaName);
            writer.WriteInt32(ticksBehind);
            writer.WriteBool(simulating);
            writer.WriteByte(color.r);
            writer.WriteByte(color.g);
            writer.WriteByte(color.b);

            return(writer.ToArray());
        }
Example #3
0
        public void OnConnectionRequest(ConnectionRequest req)
        {
            if (!arbiter && server.settings.maxPlayers > 0 && server.players.Count(p => !p.IsArbiter) >= server.settings.maxPlayers)
            {
                var writer = new ByteWriter();
                writer.WriteString("Server is full");
                req.Reject(writer.GetArray());
                return;
            }

            req.Accept();
        }
        public bool DoAutosave(string saveName = "")
        {
            if (tmpMapCmds != null)
            {
                return(false);
            }

            if (settings.pauseOnAutosave)
            {
                SendCommand(CommandType.WorldTimeSpeed, ScheduledCommand.NoFaction, ScheduledCommand.Global, new byte[] { (byte)Verse.TimeSpeed.Paused });
            }

            ByteWriter writer = new ByteWriter();

            writer.WriteString(saveName);
            SendCommand(CommandType.Autosave, ScheduledCommand.NoFaction, ScheduledCommand.Global, writer.ToArray());
            tmpMapCmds = new Dictionary <int, List <byte[]> >();

            SendChat("Autosaving...");

            autosaveCountdown = settings.autosaveInterval * 2500 * 24;
            return(true);
        }