SUMMARY
Setting up the Frame Server on external machines can be tedious, as it requires a long Python command to be executed. However, there are some simple ways of optimising this through basic bash scripting. This article explains how this can be done.
MORE INFORMATION
Render machines for the Frame Server can be initialised through a Python command which is executed from the Terminal or Command Prompt. Details about the Python command can be found in the following section of the Nuke documentation: Using the Frame Server on External Machines
The best way of simplifying a render machine initialisation is to write a bash script. Depending on the complexity of your pipeline this can go from a simple alias, to a custom tool with a dedicated UI.
Windows
Details of substituting values (like Workstation name) can vary between Shell environments and attached to this article you can find a very simple windows_MakeRenderMachine.bat file that will let you run the Frame Server in the following format, replacing MACHINE_NAME_OR_IP with the name or IP of the main workstation you want the machine you are running this command on to be the frame server for:
C:\path\to\file\windows_MakeRenderMachine.bat MACHINE_NAME_OR_IP
The .bat file itself can be adjusted to suit your preferences for a default render machine (i.e. number of workers, threads, memory, Nuke version, etc ...)
You can then further simplify this by creating a doskey (or alias). On Windows this would be something similar to:
doskey MakeRenderMachine=C:\path\to\file\windows_MakeRenderMachine.bat $*
NOTE: $* is important as it will allow you to pass arguments, in this example the workstation name.
The final command could be executed from anywhere in the Command Prompt and would look something like:
MakeRenderMachine MACHINE_NAME_OR_IP
Linux
On Linux you can store the following in your .bashrc file, which you can find in your Home directory, to make it permanent:
MakeRenderMachine()
{
/usr/local/Nuke15.1v1/python3 /usr/local/Nuke15.1v1/pythonextensions/site-packages/foundry/frameserver/nuke/runframeserver.py --numworkers=2 --nukeworkerthreads=4 --nukeworkermemory=8096 --workerconnecturl=tcp://$1:5560 --nukepath=/usr/local/Nuke15.1v1/Nuke15.1
}
You can also adjust this command to suit your preferences for a default render machine (i.e. number of workers, threads, memory, Nuke version, etc ...)
Once this has been set up, you can then run the command, like so:
MakeRenderMachine MACHINE_NAME_OR_IP
We're sorry to hear that
Please tell us why