Common Network situations and tips

If you are working in Windows and want to run more than twenty Render Nodes simultaneously, all the folders need to be set up on a machine that is running Windows Server because any other version of Windows will only allow twenty (ten in versions older than Windows 7) simultaneous connections at any given time. Make sure you always check the “Send Dependencies” option. If you are in Linux or Mac this problem does not exist.
When rendering animations, make sure that you have plenty of free hard drive space. Each MXI file can easily be 100+ MB in size, especially if Multilight is enabled, and will quickly fill up a small drive.



MXS saved with local texture paths

Unless you use the “Send Dependencies” option when adding a network render job, both the MXS file and textures used in the MXS should be placed in a shared folder that all nodes have access to. An easy way to accomplish this is using the “Pack & Go” feature in Maxwell Studio which will copy your MXS and all the textures used in it to a folder of your choice. Otherwise you may get a texture paths error.

Alternatively, you have two options to make sure all nodes find the textures:

  1. You can keep your textures in a shared folder and when building your scene, load the textures from this folder starting from Network in the File Browser so that the texture paths are in UNC format. 
    For example, your texture folder may be c:/mytextures, which is shared. Your computer name is “renderbox1” which is part of the Workgroup named “farm”. Browse from My Network Places> Microsoft Windows Network> farm> renderbox1> my textures. The path for the texture will then be \\renderbox1\mytextures\texture.jpg 
    You can also type directly in the File name input of the File Browser: \\renderbox
    and your mytextures folder will appear in the list of shared folders. In this case it is not necessary to also move your textures to the same shared folder as the MXS.

  2. Or you can keep your textures in a shared folder and when adding the job through the Add Job Wizard, you can specify this shared folder in the “Textures” dialog.



Using a mapped network drive

In case you are connecting to a folder as a mapped network drive, make sure you have added this folder as a mapped drive to all the servers, using the same drive letter.



Firewalls

If you are having problems detecting the nodes in your network, disable your firewall. 



The "Golden Rule" on networking 

In order to ensure everything will be sent and stored correctly, we suggest to keep in mind the "Golden rule" on networking: The source files (the scene project) must be fully accessible for the MONITOR (ideally, it is better if the project folder were located in the Monitor computer), while the output folder (where you want the final renders to be stored) must be fully accessible for the MANAGER (ideally, it is better if the output folder were located in the Manager computer). 

In fact, the most robust configuration is having the Manager and Monitor being the same computer. The Network obviously can work perfectly under any other configuration, but working this way you skip the possibility of access and path issues.



Network tips for MacOS

For multi-platform compatibility reasons, all the network paths in Maxwell Render are in UNC format by default. MacOS cannot handle UNC paths natively and so some transformations are needed. These transformations cannot always be done automatically, so keep the following tips in mind to make network rendering much easier when using MacOS.

  • In the case of Mac computers, using the “Send Dependencies” option will be usually more reliable.

  • In a multi-platform environment, it’s preferable to use MacOS machines only as render nodes.

  • When launching the render from a MacOS machine (and if the Manager is not in the same machine as the Monitor), the output path must be understandable and accessible from the Manager machine.

  • If the Manager is a MacOS machine, selecting a local path will save the file in the same local path (if it exists) as the Manager. Using the “Retry” button of the local path warning dialog will convert this local path to a network path. This means the files will be saved in the referring path, but the selected local path must be located in your user folder (or in any of its subfolders) or in any secondary drive.

  • If the Manager is a Windows machine, a network UNC path must be written by the user, or a Windows shared folder must be selected in the dialog.

  • When “Send Dependencies” is not selected, the texture path has the same limitations as mentioned in the previous point, but now for all the nodes in the network.



Network tips for Linux

Linux can have problems with UNC by default, so a workaround is needed.
To make Linux work with network paths for textures or other dependencies, it is possible to use this hack:

Let’s suppose you want to access:

\\MyServer\Share1\texture.jpg

Now, you can mount the shared resource \\MyServer\Share1 in the folder /MyServer/Share1 (pay attention to the particular back and forward slashes) using this command as root:

mount \-t cifs //ip-of-the-server-MyServer/Share1 /MyServer/Share1 \-ousername=an-authorized-user,password=the-appropriate-password

If you have smbfs module loaded in your kernel, then you can do:

mount \-t smbfs //Myserver/Share1 /Myserver/Share1

For example: if the IP of MyServer was 10.10.10.1, then:

mount \-t cifs //10.10.10.1/Share1 /MyServer/Share1

This is a tricky hack, and you’ve got to adjust the write and read permissions, and be root to be able to mount the shared folders, but it works and can sometimes be the easiest solution.





How to set up a Linux machine as a render node

If you want to set a Linux machine to work as a node please follow these steps:

  1. Make sure to have a normal user account (not root);

  2. Get Maxwell installed and licensed; the license can be a file called maxwell_license.lic which only contains a single line of text following this example: HOST <name or IP address of the rlm computer> ANY 5053. This file can be edited manually and copied from one node to the other as its only purpose is to let Maxwell know where the RLM is with the true licenses; It’s located in /home/<username>/Maxwell.

  3. The working directory of the node by default is: /tmp/ and the node automatically creates mxnetwork/<node computer name>/ subfolders; you should make sure that a normal user is capable of reading and writing from/to that folder;

  4. In the case you want to customize the working path and the default logs path, Maxwell uses the mxnetworkprefs_v5.ini file. If the render node is opened normally with GUI, it will create a preferences file after closing it, but if you are using it through command line you'll have to add it manually if you want to customize the place where maxwell stores the render information and logs (this is optional; it's not strictly required). You can add that preferences file for mxnetwork in this folder: /home/<username>/Maxwell/ called mxnetworkprefs_v5.ini in which you can customize the working path (tempPath) and the default log path (defaultLogsPath) among other things. You can start with this sample file: mxnetworkprefs_v5.ini (or this one if it's for Maxwell 4: mxnetworkprefs_v4.ini), but please, make sure to set both paths correctly; pay special attention to the computer name at the tempPath item and the username at the defaultLogsPath item and that the user which will run mxnetwork has read/write access to those paths.

  5. You can then run the render node from the Maxwell installation folder making sure to run it as a normal user and not as root. The node runs by typing this command: mxnetwork -node ; you can add the IP of the manager after node flag to force the node to connect to a particular manager; it would look like this: mxnetwork -node:192.168.0.66 and you can add -nogui flag in order to run it only through command line.

  6. In order to avoid problems with the output folder path, it would be better to run the manager on a Windows computer (if the output folder belongs to a Windows one), as the manager is in charge of collecting the files generated by the nodes, combining them and writing the final output.

  7. When launching the job, it is recommended to activate “Send dependencies” option and if there’s a queue of jobs, do not close the monitor until all the jobs are sent.