Restart SFS2X from Web Admin Panel Fails
Posted: 09 May 2022, 21:27
I'm using SFS2X version 2.18
Running Ubuntu 20.4 on Linode VSP, 1 core, 4 gigs memory
Installed using user smartfoxuser rather than root
Installed with SSL enabled
Running as a daemon per instructions on your website.
Here's my smartfox.service daemon script:
[Unit]
Description=SmartFoxServer 2X
After=network.target
[Service]
Type=forking
User=smartfoxuser
LimitNOFILE=100000
WorkingDirectory=/home/smartfoxuser/smartfoxserver/SmartFoxServer_2X/SFS2X
ExecStart=/home/smartfoxuser/smartfoxserver/SmartFoxServer_2X/SFS2X/sfs2x-service start
ExecStop=/home/smartfoxuser/smartfoxserver/SmartFoxServer_2X/SFS2X/sfs2x-service stop
Restart=on-abort
[Install]
WantedBy=multi-user.target
The server seems to run fine using systemctl start smartfox.service. I can access web admin panel via port 8443.
I am able to restart server via linux command line systemct restart smartfox.service. That seems to work just fine.
The problem is that when I use the button in the web admin to restart the server, it seems to fail to restart the server. Looking at the smartfox.log, I get this:
09 May 2022 | 21:15:35,143 | INFO | SFSWorker:Ext:2 | Extensions | | {Admin}: Restarting SmartFoxServer...
09 May 2022 | 21:15:35,144 | WARN | SFSWorker:Ext:2 | smartfoxserver.v2.SmartFoxServer | | *** SERVER RESTARTING ***
09 May 2022 | 21:15:35,145 | WARN | SocketWriter::TCP-3 | bitswarm.core.SocketWriter | | SocketWriter::TCP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$TCPWriteRunner.run(SocketWriterV3.java:818)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,145 | INFO | SocketWriter::TCP-3 | bitswarm.core.SocketWriter | | SocketWriter::TCP threadpool shutting down.
09 May 2022 | 21:15:35,146 | WARN | SocketWriter::TCP-2 | bitswarm.core.SocketWriter | | SocketWriter::TCP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$TCPWriteRunner.run(SocketWriterV3.java:818)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,146 | INFO | SocketWriter::TCP-2 | bitswarm.core.SocketWriter | | SocketWriter::TCP threadpool shutting down.
09 May 2022 | 21:15:35,146 | WARN | SocketWriter::TCP-1 | bitswarm.core.SocketWriter | | SocketWriter::TCP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$TCPWriteRunner.run(SocketWriterV3.java:818)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,146 | INFO | SocketWriter::TCP-1 | bitswarm.core.SocketWriter | | SocketWriter::TCP threadpool shutting down.
09 May 2022 | 21:15:35,146 | WARN | SocketWriter::UDP-1 | bitswarm.core.SocketWriter | | SocketWriter::UDP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$UDPWriteRunner.run(SocketWriterV3.java:857)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,147 | INFO | SocketWriter::UDP-1 | bitswarm.core.SocketWriter | | SocketWriter::UDP threadpool shutting down.
09 May 2022 | 21:15:35,146 | WARN | SocketWriter::UDP-2 | bitswarm.core.SocketWriter | | SocketWriter::UDP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$UDPWriteRunner.run(SocketWriterV3.java:857)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,147 | INFO | SocketWriter::UDP-2 | bitswarm.core.SocketWriter | | SocketWriter::UDP threadpool shutting down.
09 May 2022 | 21:15:35,146 | WARN | SocketWriter::UDP-3 | bitswarm.core.SocketWriter | | SocketWriter::UDP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$UDPWriteRunner.run(SocketWriterV3.java:857)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,148 | INFO | SocketWriter::UDP-3 | bitswarm.core.SocketWriter | | SocketWriter::UDP threadpool shutting down.
09 May 2022 | 21:15:35,151 | WARN | SocketReader | bitswarm.core.SocketReader | | Problems in SocketReader main loop: java.lang.InterruptedException: sleep interrupted, Thread: Thread[SocketReader,5,main]
09 May 2022 | 21:15:35,152 | WARN | SocketReader | bitswarm.core.SocketReader | | java.lang.InterruptedException: sleep interrupted
java.base/java.lang.Thread.sleep(Native Method)
com.smartfoxserver.bitswarm.core.SocketReader.run(SocketReader.java:173)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:38,146 | INFO | SFSWorker:Ext:2 | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 3, Type: DEFAULT, Logged: Yes, IP: 67.188.152.247:50086 }
09 May 2022 | 21:15:38,146 | INFO | SFSWorker:Ext:2 | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 5, Type: WEBSOCKET, Logged: Yes, IP: 67.188.152.247:60670 }
09 May 2022 | 21:15:38,147 | INFO | SFSWorker:Sys:1 | v2.api.SFSApi | | User disconnected: { Zone: --=={{{ AdminZone }}}==-- }, ( User Name: albert2, Id: 4, Priv: 0, Sess: 67.188.152.247:60670 ) , SessionLen: 19761, Type: JavaScript
09 May 2022 | 21:15:38,147 | INFO | SFSWorker:Ext:2 | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 5, Type: WEBSOCKET, Logged: No, IP: 67.188.152.247:60670 }
09 May 2022 | 21:15:38,147 | INFO | SFSWorker:Ext:2 | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 6, Type: WEBSOCKET, Logged: Yes, IP: 67.188.152.247:60695 }
09 May 2022 | 21:15:38,148 | INFO | SFSWorker:Sys:4 | v2.api.SFSApi | | User disconnected: { Zone: --=={{{ AdminZone }}}==-- }, ( User Name: albert1, Id: 5, Priv: 0, Sess: 67.188.152.247:60695 ) , SessionLen: 15767, Type: JavaScript
09 May 2022 | 21:15:38,148 | INFO | SFSWorker:Ext:2 | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 6, Type: WEBSOCKET, Logged: No, IP: 67.188.152.247:60695 }
09 May 2022 | 21:15:38,661 | INFO | :::SFSRestarter::: | v2.util.SFSRestart | | Process restarted: Process[pid=11033, exitValue="not exited"]
09 May 2022 | 21:15:39,204 | INFO | Thread-3 | entities.managers.SFSZoneManager | | BuddyList saveAll...
09 May 2022 | 21:15:39,205 | INFO | Thread-4 | entities.managers.SFSBannedUserManager | | BanUser data saved.
09 May 2022 | 21:15:39,206 | WARN | SFS2X ShutdownHook | v2.core.SFSShutdownHook | | SFS2X is shutting down. The process may take a few seconds...
09 May 2022 | 21:15:39,918 | INFO | main | smartfoxserver.v2.SmartFoxServer | | Boot sequence starts...
09 May 2022 | 21:15:39,930 | INFO | Thread-0 | entities.managers.SFSZoneManager | | BuddyList saveAll...
Any ideas what might be going on? Perhaps it's a permission problem with the smartfoxuser that I'm running the process as? Is there more detailed instructions on running SFS2X as something other than root, as most of the instructions seem to assume root user?
I'd like to use the web admin's soft restart so that destructs are properly called on my extensions and db connections can be properly cleaned up.
Running Ubuntu 20.4 on Linode VSP, 1 core, 4 gigs memory
Installed using user smartfoxuser rather than root
Installed with SSL enabled
Running as a daemon per instructions on your website.
Here's my smartfox.service daemon script:
[Unit]
Description=SmartFoxServer 2X
After=network.target
[Service]
Type=forking
User=smartfoxuser
LimitNOFILE=100000
WorkingDirectory=/home/smartfoxuser/smartfoxserver/SmartFoxServer_2X/SFS2X
ExecStart=/home/smartfoxuser/smartfoxserver/SmartFoxServer_2X/SFS2X/sfs2x-service start
ExecStop=/home/smartfoxuser/smartfoxserver/SmartFoxServer_2X/SFS2X/sfs2x-service stop
Restart=on-abort
[Install]
WantedBy=multi-user.target
The server seems to run fine using systemctl start smartfox.service. I can access web admin panel via port 8443.
I am able to restart server via linux command line systemct restart smartfox.service. That seems to work just fine.
The problem is that when I use the button in the web admin to restart the server, it seems to fail to restart the server. Looking at the smartfox.log, I get this:
09 May 2022 | 21:15:35,143 | INFO | SFSWorker:Ext:2 | Extensions | | {Admin}: Restarting SmartFoxServer...
09 May 2022 | 21:15:35,144 | WARN | SFSWorker:Ext:2 | smartfoxserver.v2.SmartFoxServer | | *** SERVER RESTARTING ***
09 May 2022 | 21:15:35,145 | WARN | SocketWriter::TCP-3 | bitswarm.core.SocketWriter | | SocketWriter::TCP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$TCPWriteRunner.run(SocketWriterV3.java:818)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,145 | INFO | SocketWriter::TCP-3 | bitswarm.core.SocketWriter | | SocketWriter::TCP threadpool shutting down.
09 May 2022 | 21:15:35,146 | WARN | SocketWriter::TCP-2 | bitswarm.core.SocketWriter | | SocketWriter::TCP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$TCPWriteRunner.run(SocketWriterV3.java:818)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,146 | INFO | SocketWriter::TCP-2 | bitswarm.core.SocketWriter | | SocketWriter::TCP threadpool shutting down.
09 May 2022 | 21:15:35,146 | WARN | SocketWriter::TCP-1 | bitswarm.core.SocketWriter | | SocketWriter::TCP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$TCPWriteRunner.run(SocketWriterV3.java:818)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,146 | INFO | SocketWriter::TCP-1 | bitswarm.core.SocketWriter | | SocketWriter::TCP threadpool shutting down.
09 May 2022 | 21:15:35,146 | WARN | SocketWriter::UDP-1 | bitswarm.core.SocketWriter | | SocketWriter::UDP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$UDPWriteRunner.run(SocketWriterV3.java:857)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,147 | INFO | SocketWriter::UDP-1 | bitswarm.core.SocketWriter | | SocketWriter::UDP threadpool shutting down.
09 May 2022 | 21:15:35,146 | WARN | SocketWriter::UDP-2 | bitswarm.core.SocketWriter | | SocketWriter::UDP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$UDPWriteRunner.run(SocketWriterV3.java:857)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,147 | INFO | SocketWriter::UDP-2 | bitswarm.core.SocketWriter | | SocketWriter::UDP threadpool shutting down.
09 May 2022 | 21:15:35,146 | WARN | SocketWriter::UDP-3 | bitswarm.core.SocketWriter | | SocketWriter::UDP thread interrupted
java.lang.InterruptedException
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at com.smartfoxserver.bitswarm.core.SocketWriterV3$UDPWriteRunner.run(SocketWriterV3.java:857)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:35,148 | INFO | SocketWriter::UDP-3 | bitswarm.core.SocketWriter | | SocketWriter::UDP threadpool shutting down.
09 May 2022 | 21:15:35,151 | WARN | SocketReader | bitswarm.core.SocketReader | | Problems in SocketReader main loop: java.lang.InterruptedException: sleep interrupted, Thread: Thread[SocketReader,5,main]
09 May 2022 | 21:15:35,152 | WARN | SocketReader | bitswarm.core.SocketReader | | java.lang.InterruptedException: sleep interrupted
java.base/java.lang.Thread.sleep(Native Method)
com.smartfoxserver.bitswarm.core.SocketReader.run(SocketReader.java:173)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base/java.lang.Thread.run(Thread.java:829)
09 May 2022 | 21:15:38,146 | INFO | SFSWorker:Ext:2 | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 3, Type: DEFAULT, Logged: Yes, IP: 67.188.152.247:50086 }
09 May 2022 | 21:15:38,146 | INFO | SFSWorker:Ext:2 | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 5, Type: WEBSOCKET, Logged: Yes, IP: 67.188.152.247:60670 }
09 May 2022 | 21:15:38,147 | INFO | SFSWorker:Sys:1 | v2.api.SFSApi | | User disconnected: { Zone: --=={{{ AdminZone }}}==-- }, ( User Name: albert2, Id: 4, Priv: 0, Sess: 67.188.152.247:60670 ) , SessionLen: 19761, Type: JavaScript
09 May 2022 | 21:15:38,147 | INFO | SFSWorker:Ext:2 | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 5, Type: WEBSOCKET, Logged: No, IP: 67.188.152.247:60670 }
09 May 2022 | 21:15:38,147 | INFO | SFSWorker:Ext:2 | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 6, Type: WEBSOCKET, Logged: Yes, IP: 67.188.152.247:60695 }
09 May 2022 | 21:15:38,148 | INFO | SFSWorker:Sys:4 | v2.api.SFSApi | | User disconnected: { Zone: --=={{{ AdminZone }}}==-- }, ( User Name: albert1, Id: 5, Priv: 0, Sess: 67.188.152.247:60695 ) , SessionLen: 15767, Type: JavaScript
09 May 2022 | 21:15:38,148 | INFO | SFSWorker:Ext:2 | bitswarm.sessions.DefaultSessionManager | | Session removed: { Id: 6, Type: WEBSOCKET, Logged: No, IP: 67.188.152.247:60695 }
09 May 2022 | 21:15:38,661 | INFO | :::SFSRestarter::: | v2.util.SFSRestart | | Process restarted: Process[pid=11033, exitValue="not exited"]
09 May 2022 | 21:15:39,204 | INFO | Thread-3 | entities.managers.SFSZoneManager | | BuddyList saveAll...
09 May 2022 | 21:15:39,205 | INFO | Thread-4 | entities.managers.SFSBannedUserManager | | BanUser data saved.
09 May 2022 | 21:15:39,206 | WARN | SFS2X ShutdownHook | v2.core.SFSShutdownHook | | SFS2X is shutting down. The process may take a few seconds...
09 May 2022 | 21:15:39,918 | INFO | main | smartfoxserver.v2.SmartFoxServer | | Boot sequence starts...
09 May 2022 | 21:15:39,930 | INFO | Thread-0 | entities.managers.SFSZoneManager | | BuddyList saveAll...
Any ideas what might be going on? Perhaps it's a permission problem with the smartfoxuser that I'm running the process as? Is there more detailed instructions on running SFS2X as something other than root, as most of the instructions seem to assume root user?
I'd like to use the web admin's soft restart so that destructs are properly called on my extensions and db connections can be properly cleaned up.