Here’s the log when I connect a client with the message from the server commented out:
Okt 10, 2017 4:11:59 PM de.rbgs.srcb.Multiplayer.MultiplayerGameState loadMapSettings
INFORMATION: Client connected successfully.
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-19 = com.jme3.math.Vector3f, serializer=com.jme3.network.serializing.serializers.Vector3Serializer]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-41 = com.jme3.network.serializing.serializers.FieldSerializer, serializer=null]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-43 = [I, serializer=com.jme3.network.serializing.serializers.ArraySerializer]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-46 = [Lcom.jme3.network.message.SerializerRegistrationsMessage$Registration;, serializer=com.jme3.network.serializing.serializers.ArraySerializer]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-48 = de.rbgs.srcb.Multiplayer.Messages.BotDataMessage, serializer=null]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-49 = de.rbgs.srcb.Multiplayer.Messages.BotListUpdateMessage, serializer=null]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-50 = de.rbgs.srcb.Multiplayer.Messages.InitialBotDataMessage, serializer=null]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-51 = de.rbgs.srcb.Multiplayer.Messages.InitialServerDataMessage, serializer=null]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-52 = de.rbgs.srcb.Multiplayer.Messages.ClientHelloMessage, serializer=null]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-53 = de.rbgs.srcb.Multiplayer.MPSettings, serializer=null]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-55 = [Lde.rbgs.srcb.Bot.Parts.PartContainer;, serializer=com.jme3.network.serializing.serializers.ArraySerializer]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-56 = [Lde.rbgs.srcb.Bot.Weapon.WeaponGroup;, serializer=com.jme3.network.serializing.serializers.ArraySerializer]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-54 = de.rbgs.srcb.Bot.BotConfiguration, serializer=null]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-57 = de.rbgs.srcb.Bot.Parts.PartContainer, serializer=null]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-58 = de.rbgs.srcb.Bot.Weapon.WeaponGroup, serializer=null]
Okt 10, 2017 4:11:59 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Registering:Registration[-59 = de.rbgs.srcb.Bot.Weapon.WeaponPositionData, serializer=null]
Okt 10, 2017 4:11:59 PM de.rbgs.srcb.Main.GameStates.BaseGameState initPhase
INFORMATION: Game State init phase 2 done.
The client instance with integrated server always works and just says:
Okt 10, 2017 4:11:36 PM com.jme3.network.message.SerializerRegistrationsMessage registerAll
INFORMATION: Skipping registration as registry is locked, presumably by a local server process.
EDIT: Here is the BotListUpdateMessage.class:
package de.rbgs.srcb.Multiplayer.Messages;
import com.jme3.network.AbstractMessage;
import com.jme3.network.serializing.Serializable;
import java.util.List;
/**
*
* @author Robbi Blechdose
*
*/
@Serializable
public class BotListUpdateMessage extends AbstractMessage
{
private List<BotDataMessage> updates;
public BotListUpdateMessage() {}
public BotListUpdateMessage(List<BotDataMessage> updates)
{
this.updates = updates;
}
public List<BotDataMessage> getUpdates()
{
return updates;
}
}
And BotDataMessage.class:
package de.rbgs.srcb.Multiplayer.Messages;
import com.jme3.math.Vector3f;
import com.jme3.network.AbstractMessage;
import com.jme3.network.serializing.Serializable;
/**
*
* @author Robbi Blechdose
*
*/
@Serializable
public class BotDataMessage extends AbstractMessage
{
private int botId;
private Vector3f botPos;
private Vector3f viewDir;
private Vector3f walkDirection;
public BotDataMessage() {}
public BotDataMessage(int botId, Vector3f botPos, Vector3f viewDir, Vector3f walkDirection)
{
this.botId = botId;
this.botPos = botPos;
this.viewDir = viewDir;
this.walkDirection = walkDirection;
}
public int getBotId()
{
return botId;
}
public Vector3f getBotPos()
{
return botPos;
}
public Vector3f getViewDir()
{
return viewDir;
}
public Vector3f getWalkDirection()
{
return walkDirection;
}
}