I recommend creating a play queue on the server via HTTP post:
https://your.server.ip:32400/playQueues
?type=video
&shuffle=1
&repeat=0
&continuous=1
&own=1
&uri=server://YOUR SERVER IDENTIFIER/com.plexapp.plugins.library/library/metadata/NUMERIC
Include these headers:
X-Plex-Token:YOUR-TOKEN
X-Plex-Client-Identifier:ANY-UNIQUE-STRING
You’ll get the following XML back:
<MediaContainer size="21" identifier="com.plexapp.plugins.library" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1571294176" playQueueID="12532" playQueueSelectedItemID="407084" playQueueSelectedItemOffset="0" playQueueSelectedMetadataItemID="223524" playQueueShuffled="1" playQueueSourceURI="library://x/item/%2Flibrary%2Fmetadata%2F21937" playQueueTotalCount="280" playQueueVersion="1">
The two elements we need from this are playQueueID and playQueueSelectedMetadataItemID . The first identifies the queue, and the second identifies the first item to begin playing in the queue.
Get the Target-Client-Identifier of your Roku device from at http://your.server.ip:32400/clients?X-Plex-Token=YOUR-TOKEN-HERE (your Plex app needs to be open on the Roku)
Example:
<MediaContainer size="3">
<Server name="MacBook Pro" host="192.168.1.31" address="192.168.1.31" port="32433" machineIdentifier="IDENTIFIER" version="2.44.0.1018-8f77cbb9" protocol="plex" product="Plex Media Player" deviceClass="pc" protocolVersion="1" protocolCapabilities="navigation,playback,timeline,mirror,playqueues"/>
<Server name="Living Room Roku" host="192.168.1.36" address="192.168.1.36" port="8324" machineIdentifier="IDENTIFIER" version="6.4.2.5956-3cf1a1b7e-Plex Preview" protocol="plex" product="Plex for Roku" deviceClass="stb" protocolVersion="1" protocolCapabilities="timeline,playback,navigation,playqueues"/>
<Server name="Safari" host="192.168.1.4" address="192.168.1.4" port="32400" machineIdentifier="IDENTIFIER" version="4.8.3" protocol="plex" product="Plex Web" deviceClass="pc" protocolVersion="3" protocolCapabilities="timeline,playback,navigation,mirror,playqueues"/>
</MediaContainer>
Then send the play queue to the Roku via HTTP get (I send it via the server in this example, because the server can relay the command to the client, and its IP is consistent):
http://your.server.ip:32400/player/playback/playMedia
?protocol=http
&address=your.server.ip
&port=32400
&containerKey=/playQueues/PLAY QUEUE ID
&key=/library/metadata/FIRST ITEM ID
&offset=0
&commandID=1
&type=video
&machineIdentifier=YOUR SERVER ID
&token=YOUR TOKEN
Include these headers:
X-Plex-Client-Identifier:ANY-UNIQUE-STRING
X-Plex-Target-Client-Identifier:IDENTIFIER-OF-THE-ROKU-DEVICE