We are starting to have a good few numbers of extensions on our server with a hierarchy like this in SFS2X/extensions/:
- ZoneExtension/ZoneExtension.jar
- ZoneExtensionDev/ZoneExtensionDev.jar
- RoomExtension1/RoomExtension1.jar
- RoomExtension1Dev/RoomExtension1Dev.jar
- etc
Our problem is that as indicated in the documentation each extension must be in a folder inside the /extensions/ folder, so we can't sort them as we intended by folders.
So we tried to use this hierarchy:
- Prod
- ZoneExtension.jar
- RoomExtension1.jar
- Dev
- ZoneExtension.jar
- RoomExtension1.jar
- ...
Code: Select all
Exception: java.lang.NoSuchMethodError
Message: room.simulation.RoomData.<init>(Lroom/RoomExtensionLegacy;)V
Description: Extension initialization failed.
+--- --- ---+
Stack Trace:
+--- --- ---+
room.RoomExtensionLegacy.init(RoomExtensionLegacy.java:45)
com.smartfoxserver.v2.entities.managers.SFSExtensionManager.createExtension(SFSExtensionManager.java:303)
com.smartfoxserver.v2.entities.managers.SFSRoomManager.createRoomExtension(SFSRoomManager.java:239)
com.smartfoxserver.v2.entities.managers.SFSRoomManager.createRoom(SFSRoomManager.java:186)
com.smartfoxserver.v2.entities.SFSZone.createRoom(SFSZone.java:258)
com.smartfoxserver.v2.api.SFSApi.createRoom(SFSApi.java:759)
com.smartfoxserver.v2.api.SFSApi.createRoom(SFSApi.java:726)
Handlers.Users.UserRequestToJoinRoomHandler.CreateNewRoom(UserRequestToJoinRoomHandler.java:121)
Handlers.Users.UserRequestToJoinRoomHandler.handleClientRequest(UserRequestToJoinRoomHandler.java:42)
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(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)
Moving the extension to its own folder in extensions and updating the name references made it work as intended again.
Is the folder sorting that we want possible? Are we doing something wrong?