I tried running 3ds Max 2024 with AWS Deadline Cloud's CMF
This page has been translated by machine translation. View original
Introduction
In render farm operations for DCC (Digital Content Creation) applications used in 3DCG / VFX production, how you supply licenses to Workers is a foundational design decision. AWS Deadline Cloud offers a mechanism called UBL (Usage-Based Licensing) that can supply licenses on a pay-per-use basis based on job execution time. UBL is available for both SMF (Service-Managed Fleet) and CMF (Customer-Managed Fleet), but the supported products are limited to a predetermined list.
According to the official documentation, as of the time this article was written (June 2026), the 7 products available for UBL with CMF are Arnold, Cinema 4D, Foundry Nuke, Red Giant, Redshift, SideFX Houdini (including Mantra / Karma), and V-Ray. 3ds Max itself is not included in this list, meaning UBL cannot supply a license for 3ds Max. Therefore, to launch 3ds Max on a Worker, you need to supply a bring-your-own license (BYOL). This article covers a configuration where users activate 3ds Max 2024 on Worker instances using their own Autodesk subscription. We share the verification results and three insights gained during the process.
What is AWS Deadline Cloud
AWS Deadline Cloud is a managed service for building render farms in the cloud for 3DCG / VFX production. It provides the features needed for render farm operations, including Worker auto-scaling, job management, and license supply.
Target Audience
- Those who are building or considering building a CMF on AWS Deadline Cloud
- Those who want to build an Autodesk 3ds Max 2024 render farm on AWS
References
- AWS Deadline Cloud Developer Guide: Using software licenses
- AWS Deadline Cloud Developer Guide: Connect customer-managed fleets to a license endpoint
- AWS Deadline Cloud User Guide: Autodesk 3ds Max
- aws-deadline/deadline-cloud-for-3ds-max
Verification Goals and Configuration
The verification aimed to satisfy all four of the following conditions.
- A job submitted from the Submitter runs to SUCCEEDED on the Worker EC2
- During job execution, 3ds Max launches on the Worker, references the activation information from the bring-your-own license, and proceeds with headless rendering (without showing a sign-in dialog)
- The rendered PNG file can be retrieved via S3
- The Worker Agent service remains in the Fleet with IDLE status
The verification configuration is as follows. Both the Submitter host and the Worker host are Windows Server 2022 EC2 instances. Unlike a CMF configuration using UBL, no License Endpoint is set up; instead, 3ds Max 2024 is activated on the Worker EC2 with the user's own Autodesk account.
Install Deadline Cloud Monitor on the Submitter and sign in via Identity Center. The 3ds Max Submitter plugin uses the AWS credentials obtained from the Monitor sign-in to submit jobs. The Worker EC2 was configured as c5.4xlarge / EBS 200 GB to host 3ds Max, the Worker Agent, and the Adaptor.
Verification Results
A minimal verification scene with just a single teapot placed in 3ds Max was prepared, and a job was submitted via the Submitter plugin. The Default Scanline Renderer was used.
The job status transitioned from READY through STARTING and RUNNING to SUCCEEDED, with 1 task completing in 44 seconds. The output was retrieved from S3 as a 1280 x 720 PNG.
For this verification, we rendered an image of a teapot.

We confirmed on actual hardware that 3ds Max on the CMF Fleet completed rendering by referencing the bring-your-own license activation information without displaying a sign-in dialog.
Insights Gained from Verification
Autodesk licenses are stored per user, so run the Worker service under the user who activated it
At the start of verification, we assumed it would work by activating 3ds Max as the Administrator on the Worker EC2 while leaving the DeadlineWorker service running under the deadline-worker user that install-deadline-worker creates by default. We thought that license information would be shared within the same Windows host.
However, the headless 3ds Max launched by the Adaptor terminates with License Error: login requires GUI mode. This is because Autodesk license information is stored per user under %LOCALAPPDATA%\Autodesk\AdskLicensingAgent, and the activation token does not exist for the deadline-worker user. In GUI mode, recovery is possible by showing a sign-in dialog, but headless execution via the Adaptor cannot display UI, so it fails outright.
The correct approach was to switch the logon user of the DeadlineWorker service to the user who activated 3ds Max (Administrator in this verification). At the same time, since Administrator does not have Log on as a service rights by default, it is necessary to explicitly grant SeServiceLogonRight via secedit.
$pw = '<Administrator password>'
Stop-Service DeadlineWorker -Force
sc.exe config DeadlineWorker obj= '.\Administrator' password= $pw
$lines = @(
'[Unicode]', 'Unicode=yes',
'[Version]', 'signature="$CHICAGO$"', 'Revision=1',
'[Privilege Rights]',
'SeServiceLogonRight = Administrator,deadline-worker,*S-1-5-80-0'
)
$lines | Set-Content -Path C:\Windows\Temp\grant-svc.inf -Encoding Unicode
secedit /configure /db C:\Windows\Temp\grant-svc.sdb /cfg C:\Windows\Temp\grant-svc.inf /areas USER_RIGHTS
Start-Service DeadlineWorker
Because secedit /configure replaces rather than appends the target privilege assignment, the existing service user (deadline-worker) and system account SID (*S-1-5-80-0) must also be explicitly listed. If you specify only Administrator, the existing Worker service's startup privileges will be revoked and the service will fail to start, so please be careful.
Opt in to run_jobs_as_agent_user = true in worker.toml. Never add a BOM
When a Render Queue is created in WORKER_AGENT_USER mode (a mode where jobs run under the same user as the Worker Agent service), it works as-is on Linux Workers. On Windows Workers, however, jobs fail immediately after session start with the following error:
Job cannot run as WORKER_AGENT_USER. Worker Agent is running with Administrator privileges.
While the error message seems to be checking for Administrator privileges, in reality the Worker Agent's scheduler.py hard-codes the rejection of WORKER_AGENT_USER mode on Windows. This is a fail-safe judgment stemming from the fact that Windows' user-isolation mechanism is not equivalent to Linux's, and overriding it requires explicitly opting in via the [os] section of worker.toml.
[os]
run_jobs_as_agent_user = true
A common pitfall here is encoding. Using Set-Content -Encoding UTF8 in PowerShell 5.1, the standard for Windows Server 2022, adds a UTF-8 BOM to the beginning of worker.toml. Python 3.11's standard tomllib does not accept a BOM, causing the DeadlineWorker service to exit immediately with SystemExit: 1 on startup. Since no parse error is left in worker-agent.log either, the behavior makes it difficult to identify the cause.
When editing worker.toml, use [System.IO.File]::WriteAllText with UTF8Encoding($false), or use -Encoding UTF8NoBOM in PowerShell 7 or later, to reliably avoid the BOM.
$path = 'C:\ProgramData\Amazon\Deadline\Config\worker.toml'
$content = Get-Content $path -Raw
$content = $content -replace '(?m)^# run_jobs_as_agent_user = true', 'run_jobs_as_agent_user = true'
[System.IO.File]::WriteAllText($path, $content, (New-Object System.Text.UTF8Encoding($false)))
Restart-Service DeadlineWorker -Force
Install the 3ds Max Adaptor in 2 Python locations. Also add PATH entries
The 3ds Max Adaptor (deadline-cloud-for-3ds-max) needs to be installed in both the Worker Agent's Python and 3ds Max's built-in Python. This stems from the Adaptor's architecture.
The Worker Agent (Python 3.11 in this verification) launches the 3dsmax-openjd CLI to process jobs. The built-in Python of 3ds Max (3.10 in 3ds Max 2024) launched by 3dsmax-openjd then separately executes import deadline.max_adaptor. If it is only installed in one of the two, the job will fail with either '3dsmax-openjd' is not recognized or ModuleNotFoundError: No module named 'deadline'.
# Worker Agent Python 3.11
& "C:\Program Files\Python311\python.exe" -m pip install deadline-cloud-for-3ds-max
# 3ds Max 2024 built-in Python (bootstrap with ensurepip since pip is not bundled)
$maxPy = "C:\Program Files\Autodesk\3ds Max 2024\Python\python.exe"
& $maxPy -m ensurepip --upgrade
& $maxPy -m pip install deadline-cloud-for-3ds-max
Additionally, add C:\Program Files\Python311\Scripts (where 3dsmax-openjd.exe is located) and C:\Program Files\Autodesk\3ds Max 2024 (where 3dsmax.exe is located) to the Machine PATH. Since 3dsmax-openjd internally launches 3dsmax.exe using a relative reference, if the 3ds Max directory is not also in the PATH, it will fail with Could not find the specified command: 3dsmax.
When upgrading to a new major version of 3ds Max, the built-in Python version also changes, so it is safe to include this redeployment step in the upgrade procedure.
Summary
We confirmed on actual hardware that rendering with 3ds Max 2024 works on AWS Deadline Cloud CMF with a bring-your-own license. Although 3ds Max is not eligible for UBL, we found that a practical configuration for running 3ds Max on CMF with a bring-your-own license is achievable by paying attention to the Worker service user design and the Adaptor deployment targets.
Since this verification used only the Default Scanline Renderer for a single frame, verifying additional renderers such as V-Ray, multi-frame rendering, and Fleet scaling behavior are the next steps.
Note that in this article's configuration, the Worker service runs under a user with Administrator-equivalent privileges, meaning in production, jobs would inherit Administrator privileges on the Worker host. Please determine the Worker service user design in advance in accordance with your organization's security requirements.
We hope this article serves as a useful reference when considering a CMF and bring-your-own license configuration with AWS Deadline Cloud.