Floating Controllers

Getting Started

JEB Pro Floating provide more flexibility than individual builds, and can be distributed to many users within an organization. A floating build licensed for N seats will allow N clients to connect to it concurrently. When a client leaves, its seat is vacated, allowing another JEB client to start by connecting to the Controller.

JEB Clients regularly probe the Controller to determine whether or not they are allowed to run. The check is based on the number of seats available in your licensed build: for example, a floating license for 5 seats allows 5 different users to run JEB concurrently.

In order to start the Controller, use the --controller flag along with the -c flag. Example on a Linux machine:

$ jeb_linux.sh -c --controller

Additional Controller-specific command-line flags (--interface, --port, --protocol) are detailed later.

After starting the Controller, follow the prompt: You will asked to input your password, accept the license agreement, and generate a license key.

Sample log output:

C:\jeb>jeb_wincon.bat -c --controller
JEB decryption password: ***************
...
<EULA>
...
Write "yes" to agree, then press enter: yes
Hello Nicolas Falliere. Set up your JEB controller by generating a license key. This one-time operation will only take a few seconds.
Please visit https://www.pnfsoftware.com/genlk, and use the following "license data" blob to generate a key
License data: .............................................
Input your license key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Mode: Controller for floating clients
Note: X client(s) may simultaneously connect to this controller instance
Listening on 0.0.0.0/0.0.0.0:23477...

If you need to customize the Controller's address or protocol, you may now stop it with the Ctrl+C keyboard command.

Controller Settings

After the first step is completed successfully, executing the controller should display something like the following:

C:\jeb>jeb_wincon.bat -c --controller
Mode: Controller for floating clients
Note: X client(s) may simultaneously connect to this controller instance
Listening on 0.0.0.0/0.0.0.0:23477...

As can be seen, by default, the controller is listening on port 23477 on all interfaces, and uses the HTTP protocol. This can be changed by editing the configuration file bin/jeb-client.cfg and adding entries: .ControllerInterface, .ControllerPort, and .ControllerProtocol. Protocols currently supported are HTTP (0, the default) and HTTPS (1).

Example 1: the Controller listens exclusively on localhost, port 30000:

.ControllerInterface = localhost
.ControllerPort = 35000

Example 2: the Controller listens on 10.0.0.25, port 8443, and uses HTTPS instead of HTTP:

.ControllerInterface = 10.0.0.25
.ControllerPort = 8443
.ControllerProtocol = 1

Client Settings

Start your desktop client using one of the standard start-up scripts. For example, on a Windows machine:

$ jeb_wincon.bat

Your JEB Client settings should mirror your Controller settings: specify the controller hostname/interface, port, and protocol, in your client's jeb-client.cfg.

The first time you start your JEB Desktop client, a dialog box will request you to specify your Controller's location. You will also have the opportunity to configure your proxy settings, if you are using one.

Technical Notes

Updating the Controller

There is no auto-update feature in the controller. The update procedure is: