2 synchronization manager in one game?

hey, can i use 2 different synchronization manager in one game??

in my game i wrote an one controller for a vehicle. it works fine. but when i try to add a second synchronizationmanager (JMEPhysicalGraphicalController) I get





java.lang.NullPointerException

at com.captiveimagination.jgn.synchronization.SynchronizationManager.messageReceived(SynchronizationManager.java:401)

at com.captiveimagination.jgn.MessageServer.sendToListener(MessageServer.java:463)

at com.captiveimagination.jgn.MessageServer.notifyIncoming(MessageServer.java:494)

at com.captiveimagination.jgn.MessageServer.updateEvents(MessageServer.java:381)

at com.captiveimagination.jgn.clientserver.JGNServer.updateEvents(JGNServer.java:176)

at com.captiveimagination.jgn.clientserver.JGNServer.update(JGNServer.java:161)

at com.captiveimagination.jgn.UpdatableRunnable.run(JGN.java:435)

at java.lang.Thread.run(Unknown Source)



I d'ont see any reason :frowning:

Are you sure this happend after adding a second manager?

As far as I can tell im thinking you're trying to read a received messages who is null.



Perhaps you can post your code section?

sure:


       // Initialize networking
        InetSocketAddress serverReliable = new InetSocketAddress(InetAddress.getLocalHost(), NetworkConstants.SERVER_TCP_PORT);
        InetSocketAddress serverFast = new InetSocketAddress(InetAddress.getLocalHost(), NetworkConstants.SERVER_UDP_PORT);
        server = new JGNServer(serverReliable, serverFast);
       
        // Instantiate an instance of a JMEGraphicalController
        JMEVehicleController3 controller = new JMEVehicleController3();
        JMEPhysicsGraphicalController graphicalPhysicalController = new JMEPhysicsGraphicalController();
       
        // Create SynchronizationManager instance for this server
        final SynchronizationManager serverSyncManager = new SynchronizationManager(server, controller);
        final SynchronizationManager serverVehicleSyncManager = new SynchronizationManager(server, graphicalPhysicalController);
       
        // createCarSynchronizationManager();
        serverSyncManager.addSyncObjectManager(this);
        serverVehicleSyncManager.addSyncObjectManager(this);
       
        //Start Threads
        JGN.createThread(server).start();
        JGN.createThread(serverSyncManager).start();
        JGN.createThread(serverVehicleSyncManager).start();

the error occurs directly after i get this in the consonle:





PlayerID: 0

Server provided id: 2

13.11.2008 09:23:24 com.captiveimagination.jgn.DefaultUncaughtExceptionHandler uncaughtException

SCHWERWIEGEND: Uncaught exception: Terminating Thread.

java.lang.NullPointerException

you have to use smt like :



bulletSyncManager = new SynchronizationManager(server,

bulletController, (short) 1);



and use:



SynchronizeCreateBulletOrRocketMessage m = new SynchronizeCreateBulletOrRocketMessage();

m.setSyncObjectType(1);



same for synccreate messages



Kine

What kine said. :slight_smile: