I need an help to create a room server side.
I want to create a room only when i have insert a clan on a database.
so i do this on server side
Code: Select all
obj = dbmanager.executeInsert(sql,
new Object[] {clan_name, user_founder, stemma, descrizione, min_trophy, position, type, maxUsers, minUsers});
ISFSObject success = new SFSObject();
success.putUtfString("success" ,"Clan successfully registrated");
send("clan", success, user);
createRoom(user,params);
and then my method create room
Code: Select all
private void createRoom(User sender, ISFSObject params){
RoomExtensionSettings res = new RoomExtensionSettings("Login","ClanExtension");
CreateRoomSettings crs = new CreateRoomSettings();
String clan_name = params.getUtfString("clan_name");
crs.setAutoRemoveMode(SFSRoomRemoveMode.NEVER_REMOVE);
crs.setName(clan_name);
crs.setGroupId("clan_name " + clan_name);
crs.setMaxVariablesAllowed(20);
crs.setMaxUsers(20);
crs.setDynamic(true);
crs.setExtension(res);
ISFSObject reback = SFSObject.newInstance();
try {
getApi().createRoom(sender.getZone(),crs,sender);
reback.putBool("success", true);
} catch (SFSCreateRoomException e) {
e.printStackTrace();
reback.putBool("success", false);
}finally{
send("createRoom", reback, sender);
}
}
but on smartfox i have this error:
Code: Select all
21 feb 2017 | 13:37:27,181 | DEBUG | SocketReader | protocol.binary.BinaryIoHandler | | STATE: WAIT_NEW_PACKET
21 feb 2017 | 13:37:27,181 | DEBUG | SocketReader | protocol.binary.BinaryIoHandler | | NORMAL SIZED PACKET: 201
21 feb 2017 | 13:37:27,181 | DEBUG | SocketReader | protocol.binary.BinaryIoHandler | | <<< PACKET COMPLETE >>>
21 feb 2017 | 13:37:27,182 | DEBUG | SFSWorker:Sys:4 | v2.protocol.SFSProtocolCodec | |
(sfs_object) p:
(sfs_object) p:
(int) symbol: 0
(utf_string) descr: superpippoclan
(int) minUsers: 1
(int) maxUsers: 20
(int) founder: 3
(utf_string) name: superpippoclan
(utf_string) location: Internazionale
(int) type: 0
(int) trophies: 400
(int) r: 2
(utf_string) c: clan
(short) a: 13
(byte) c: 1
21 feb 2017 | 13:37:27,182 | DEBUG | SFSWorker:Ext:1 | controllers.v290.ExtensionReqController | | [Req Type: (Tcp), Sender: { Id: 3, Type: DEFAULT, Logged: Yes, IP: 127.0.0.1:55806 }]
21 feb 2017 | 13:37:27,183 | DEBUG | SFSWorker:Ext:1 | controllers.v290.ExtensionReqController | |
(sfs_object) p:
(int) symbol: 0
(utf_string) descr: superpippoclan
(int) minUsers: 1
(int) maxUsers: 20
(int) founder: 3
(utf_string) name: superpippoclan
(utf_string) location: Internazionale
(int) type: 0
(int) trophies: 400
(int) r: 2
(utf_string) c: clan
21 feb 2017 | 13:37:27,184 | INFO | SFSWorker:Ext:1 | Extensions | | {Server}: Sto chiedendo di registrare un clan al server
21 feb 2017 | 13:37:27,185 | INFO | SFSWorker:Ext:1 | Extensions | | {Server}: sono entrato nel primo try
21 feb 2017 | 13:37:27,188 | DEBUG | SFSWorker:Ext:1 | v2.db.SFSDBManager | | Execute Query SQL: com.mysql.jdbc.JDBC42PreparedStatement@57571e0: SELECT * FROM Clan WHERE clan_name='superpippoclan'
21 feb 2017 | 13:37:27,191 | INFO | SFSWorker:Ext:1 | Extensions | | {Server}: [SFSArray, size: 0]
21 feb 2017 | 13:37:27,191 | INFO | SFSWorker:Ext:1 | Extensions | | {Server}: registriamo il clan nel nostro database
21 feb 2017 | 13:37:27,194 | DEBUG | SFSWorker:Ext:1 | v2.db.SFSDBManager | | Execute Insert SQL: com.mysql.jdbc.JDBC42PreparedStatement@60dc7144: INSERT into Clan(clan_name, utente_fondatore, stemma, descrizione, min_trofei, position, tipo, maxUsers, minUsers) values ('superpippoclan', 3, 0, 'superpippoclan', 400, 'Internazionale', 0, 20, 1)
21 feb 2017 | 13:37:27,201 | DEBUG | SFSWorker:Ext:1 | v2.protocol.SFSProtocolCodec | | {OUT}: CallExtension
21 feb 2017 | 13:37:27,202 | DEBUG | SFSWorker:Ext:1 | protocol.binary.BinaryIoHandler | | Binary size: 85
12 00 03 00 01 70 12 00 03 00 01 70 12 00 01 00 .....p.....p....
07 73 75 63 63 65 73 73 08 00 1D 43 6C 61 6E 20 .success...Clan.
73 75 63 63 65 73 73 66 75 6C 6C 79 20 72 65 67 successfully.reg
69 73 74 72 61 74 65 64 00 01 72 04 00 00 00 02 istrated..r.....
00 01 63 08 00 04 63 6C 61 6E 00 01 61 03 00 0D ..c...clan..a...
00 01 63 02 01 ..c..
21 feb 2017 | 13:37:27,203 | DEBUG | SFSWorker:Ext:1 | v2.protocol.SFSProtocolCodec | | {OUT}: CallExtension
21 feb 2017 | 13:37:27,203 | DEBUG | SFSWorker:Ext:1 | protocol.binary.BinaryIoHandler | | Binary size: 50
12 00 03 00 01 70 12 00 03 00 01 70 12 00 00 00 .....p.....p....
01 72 04 00 00 00 02 00 01 63 08 00 0A 63 72 65 .r.......c...cre
61 74 65 52 6F 6F 6D 00 01 61 03 00 0D 00 01 63 ateRoom..a.....c
02 01 ..
21 feb 2017 | 13:37:27,204 | ERROR | SFSWorker:Ext:1 | controllers.v290.ExtensionReqController | | java.lang.NullPointerException:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Exception: java.lang.NullPointerException
Message: *** Null ***
Description: Error while handling client request in extension: { Ext: Server, Type: JAVA, Lev: ROOM, { Zone: Login }, [ Room: The Lobby, Id: 2, Group: default, isGame: false ] }
Extension Cmd: clan
+--- --- ---+
Stack Trace:
+--- --- ---+
java.util.concurrent.ConcurrentHashMap.get(Unknown Source)
java.util.concurrent.ConcurrentHashMap.containsKey(Unknown Source)
com.smartfoxserver.v2.entities.managers.SFSRoomManager.containsRoom(SFSRoomManager.java:465)
com.smartfoxserver.v2.entities.managers.SFSRoomManager.validateRoomName(SFSRoomManager.java:696)
com.smartfoxserver.v2.entities.managers.SFSRoomManager.createRoom(SFSRoomManager.java:92)
com.smartfoxserver.v2.entities.SFSZone.createRoom(SFSZone.java:279)
com.smartfoxserver.v2.api.SFSApi.createRoom(SFSApi.java:731)
com.smartfoxserver.v2.api.SFSApi.createRoom(SFSApi.java:701)
clanserver.ClanRegistrationHandler.createRoom(ClanRegistrationHandler.java:108)
clanserver.ClanRegistrationHandler.handleClientRequest(ClanRegistrationHandler.java:76)
com.smartfoxserver.v2.extensions.SFSExtension.handleClientRequest(SFSExtension.java:208)
com.smartfoxserver.v2.controllers.v290.ExtensionReqController.processRequest(ExtensionReqController.java:174)
com.smartfoxserver.v2.controllers.v290.ExtensionReqController$1.run(ExtensionReqController.java:68)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
21 feb 2017 | 13:37:27,205 | DEBUG | SFSWorker:Ext:1 | controllers.v290.ExtensionReqController | | Extension call executed in: 21.78005
21 feb 2017 | 13:38:03,999 | INFO | SocketReader | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 3, Type: DEFAULT, Logged: Yes, IP: 127.0.0.1:55806 }
21 feb 2017 | 13:38:04,003 | DEBUG | SFSWorker:Sys:4 | entities.managers.SFSRoomManager | | User: christianthebest removed from Room: The Lobby
21 feb 2017 | 13:38:04,004 | DEBUG | SFSWorker:Ext:2 | v2.buddylist.SFSBuddyListManager | | Skipping BuddyList save request. No BuddyList available for: christianthebest
21 feb 2017 | 13:38:04,005 | INFO | SFSWorker:Sys:4 | v2.api.SFSApi | | User disconnected: { Zone: Login }, ( User Name: christianthebest, Id: 1, Priv: 0, Sess: 127.0.0.1:55806 ) , SessionLen: 51260, Type: Unity
21 feb 2017 | 13:39:03,987 | DEBUG | pool-1-thread-1 | entities.managers.SFSZoneManager$TrafficMeterExecutor | | Traffic Monitor update: 0.063813ms.
how can i solve this problem???