Floating builds 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 JEB clients to connect to it concurrently. When a client leaves, its seat is vacated, allowing another client to connect to the Controller.
Currently, only JEB Pro Floating version supports floating licenses.
When starting, as well as during its execution, JEB will regularly probe the Controller to determine whether or not it is allowed to run. This check is based on the number of seats available in your licensed build: eg, 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
In order to start JEB, proceed as usual, for instance on Windows:
- The JEB client as well as the Controller are the same binary file: there is no separate package for the Controller.
- The '--controller' flag is not available if the build is not a floating one.
- The Controller must be started before the clients.
- JEB instances regularly contact the Controller. Therefore, the Controller should always be reachable by running instances of JEB. In order to minimize potential problems due to network latency, it is recommended to run JEB and the Controller within the same local network.
- By default, the Controller listens on all interfaces, on port 23477. This can be changed by setting the '.ControllerInterface' and '.ControllerPort' flags in the configuration file (as explained later in this document).
- The protocol used for communication between a Controller and JEB instances is HTTP, therefore eliminating potential firewall blocking issues.
- JEB instances and the Controller may be run in different environments (as in the example above: Controller on Linux, JEB on Windows, etc.)
- The controller property '.ControllerMessage' is used to provide messages, visible by clients on the Controller portal.
Note: starting with JEB version 2.2.10, the floating controller no longer requires a support package to run. Whether the machine that will run the controller is connected to the internet or not, simply run the startup script with
-c --controller, and follow the initial installation steps. Then, proceed with section Controller Settings.
On a machine connected to the Internet¶
If the machine executing the controller is connected to the Internet, the following will happen:
- The support package will be downloaded automatically
- Just follow the prompt: input your password, accept the EULA, generate a license key
Sample log output:
C:\jeb>jeb_wincon.bat -c --controller Downloading jeb2-sp-win64-v2.zip... Reading 36675855 bytes: 9>>>>8>>>>7>>>>6>>>>5>>>>4>>>>3>>>>2>>>>1>>>>0 Copying file... Success JEB decryption password: *************** ... ... <EULA> Governing Law, Jurisdiction and Costs This Agreement shall be governed, construed, and enforced in accordance with the laws of the State of California, without regard to its conflict of laws rules. Severability If any provision of this Agreement shall be held to be invalid or unenforceable, the remainder of this Agreement shall remain in full force and effect. To the extent any express or implied restrictions are not permitted by applicable laws, these express or implied restrictions shall remain in force and effect to the maximum extent permitted by such applicable laws. 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...
On a machine NOT connected to the Internet¶
If the machine executing the controller is not connected to the Internet, the following will happen:
- The support package cannot be downloaded
- If you are running JEB version 2.2.9 or below, the installation will fail; if you are running JEB 2.2.10 or above, the support package is no longer required (see note above), and you may proceed
Sample log output when the download fails: (JEB 2.2.9-)
C:\jeb>jeb_wincon.bat -c --controller Downloading jeb2-sp-win64-v2.zip... A network error occurred Download error. If this system is offline, please visit https://www.pnfsoftware.com/jeb/downloads to manually retrieve the support package. The support package was not dropped
You will have to download a support package manually, and drop it in your
bin/ folder. Instructions and download links can be found here: https://www.pnfsoftware.com/jeb/downloads
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. This can be changed by editing the file
bin/jeb-client.cfg and adding two entries named
For example, if you wish to listen exclusively on localhost, port 30000:
.ControllerInterface = localhost .ControllerPort = 35000
Updating the Controller¶
There is no auto-update feature in the controller. The update procedure is:
- Check your registered email address for a JEB update email ("JEB xxx is available...")
- Download the software archive
- Copy the archive to the root of your JEB folder and rename the file to
- Create a text file named
- Store the email-provided password inside this file
- Start your controller as normal (eg,
... -c --controller); the update will be installed automatically