anyone has figured out running 3d studio max in server mode? This can be done using the -s command line switch but i have not really managed to make it work so far. There are 2 advantages to this: No GUI (headless) and even more important: Not needing a license.
This is used by backburner (through 3dsmaxcmd.exe or maxadapter.exe) but also by other tools (e.g. deadline uses this, or vray when using vrayspawner).
Render. The current implementation in the render manager we use uses a rather crude workaround using 3dsmaxcmd.exe and process monitoring and i would like to remove that extra layer of abstraction and workarounds.
I have no experience with deadline yet, but don’t they do it directly? Maybe you could ask them for some info? Als you could use a port sniffer and see what exactly happens.
They do yes, but we do not use Deadline and hence i do not really want to get at them. I have a ticket with AD for more info but have no idea what will come out of that.
Sadly sniffing is not an option as they communicate via named pipes and hence you can’t really sniff them (at least on windows).
So for future reference in case anyone else needs this here is how this works. Thanks a lot to Vlado for the missing bits!
You need a dummy max file and a dummy xml file. The xml file being a jobdescription file. You can generate these using 3dsmaxcmd.exe. Now for Max to stay put in server mode you have to launch it using “-s dummy.max”, have the dummy.xml file in the same folder as dummy.max and (and this was missing from my tests) add the PID of the process that is calling 3dsmax.exe to the xml in the attribute <ServerPID>0</ServerPID> instead of 0.
I have not yet figured out how to launch a python script in one go or if this is even possible that way, but i am still examining.