Skip to content

Install SmartFoxServer 3 on Linux

SmartFoxServer 3 can run on any flavors of Linux provided the following minimum specs:

  • kernel version 4.x and higher
  • glibc 2.17 or later
  • Java 23 runtime or higher

Supported Platforms

As of early 2026 we're shipping the Linux package with an x86_64 version of the Java 25 runtime. If you need to run SmartFoxServer on another architecture (e.g. arm64) check this section after completing the installation.

Installation

After having downloaded .tar.gz package, open a terminal window and execute these steps:

  • move to the directory where the package is located
  • uncompress with: tar xf {name-of-installer}

Example:

$ cd /home/kermit
$ tar xf SFS3_unix_3_0_0.tar.gz

Running SmartFoxServer

Standalone application

You can run SFS as a regular application by executing sfs-standalone. This will run in the current terminal window showing the runtime logs on screen, which can be useful for development and testing.

$ cd SmartFoxServer3/server
$ ./sfs-standalone

The server can be shut down via CTRL+C or by closing the terminal window.

Service

You can also run SFS as a service using the sfs-service launcher. It provides the following options:

  • start (start the server)
  • stop (stop the server)
  • status (show the current status)
  • restart (restart the server)
$ cd SmartFoxServer3/server
$ ./sfs-service start

In this case the SmartFoxServer will keep running until a stop command is issued or the machine is shut down. If you need to consult the server's log, check under server/logs/

Installing SmartFoxServer as a daemon

By setting up SFS as a daemon the server will run in the background and will be ready as soon as the OS boots up.

Before proceeding you need to determine the type of init process used in your Linux distribution. We recommend reading this external article to determine the type of init system from terminal.

Systemd

If your OS uses systemd, create a new file under /lib/systemd/system/ called, for example, smartfox.service. Open the file with your editor of choice and paste the configuration below, making sure to change all the path references to your SFS installation path.

[Unit]
Description=SmartFoxServer 3
After=network.target

[Service]
Type=forking
User=root
LimitNOFILE=100000
WorkingDirectory=/path/to/SmartFoxServer3/server
ExecStart=/path/to/SmartFoxServer3/server/sfs-service start
ExecStop=/path/to/SmartFoxServer3/server/sfs-service stop
Restart=on-abort

[Install]
WantedBy=multi-user.target

NOTE: you can replace the "root" user in the configuration with any another user, provided it has the privileges to run SmartFoxServer

Other init process types

For other init systems, we recommend checking the documentation of your specific OS to learn how to launch services at startup.

Setting the OS descriptors limit

When SmartFoxServer is running on a production machine, the OS may need fine tuning to allow thousands of concurrent TCP/UDP connections. Under Linux (and most Unix derivatives) file descriptors are used to abstract open files and sockets. The issue is that most distributions have a default descriptor limit set to 1024, out of the box. You can check your current value with this command:

$ ulimit -n

If you need to tweak your file descriptor limits we highly recommend this external article.

Running on non x86_64 systems

If you need to run SmartFoxServer on non x86_64 systems (e.g. arm64) you can follow these simple steps after the installation:

  • download the JRE 25 for your architecture
  • under your SmartFoxServer3/ installation folder remove the default jre/ directory
  • copy the downloaded (and unzipped) JRE distribution in the same location and rename it to jre/

Uninstalling SmartFoxServer

In order to completely remove SmartFoxServer from your system proceed as follows:

  • stop the server if it's running
  • remove the entire installation folder, e.g. rm -rf path/to/SmartFoxSerever/
  • if you installed SFS3 as a service also remove the relative .service file from /lib/systemd/system/

Backup before uninstalling

Before proceeding make sure to backup any custom settings, extensions or other data that you may still need.

« Back to Installation