PUBG: [Script] Guardar una copia de seguridad de los replays

lusco

PUBG Replays Backup Script v0.1

Desde que pusieron la funcionalidad de los replays siempre me ha chocado que solamente se puedan mantener un máximo de 20 replays y que según vas jugando más partidas se te van borrando los antiguos replays. Puedes hacer fijos los replays interesantes y estos no se borran, pero sigues teniendo un máximo de 20, así que cuantos más replays pongas fijos menos espacio tienes para los nuevos.

Por una parte tiene sentido que exista un límite porque los replays ocupan bastante, pero por otro lado algunos somos "coleccionistas" y nos gusta guardar todos los replay. Otros simplemente consideran que 20 replays es un número muy pequeño. Así que he decidido hacer un script bastante sencillo que copia los replays que hay actualmente en el directorio donde PUBG los guarda a una carpeta de tu elección, si ejecutas este script de vez en cuando irás copiando tus replays que tengas actualmente en la lista y salvándolos en esta otra carpeta.

¿Donde se guardan los replays y que formato tienen?

Por defecto PUBG guarda los replays en el siguiente directorio: %localappdata%\TslGame\Saved\Demos

Dentro de esa carpeta hay varias carpetas donde cada una de ella se corresponde a cada uno de los replays que hay actualmente guardados. El nombre de la carpeta es largo pero nos da cierta información:

Para saber la fecha del replay podemos consultar en las propiedades de la carpeta su fecha de creación/modificación.

Este script lo que hace es copiar esta carpeta a otro directorio para salvaguardarla.

Si te interesa saber más detalle de como funcionan los replays del PUBG (y en general el sistema de Replays que ya trae preconstruido UE4) puedes consultarlos aquí.

¿Uff pero los replays ocupan mucho?

Aunque he hablado de que este script "copia" esta carpeta del replay, el script realmente lo que hará será usar la aplicación por línea de comandos RAR para comprimir esta carpeta en un solo archivo. Se comprimirán en formato RAR5 en un archivo sólido con la máxima compresión posible. De esta manera se reduce el tamaño de cada replay un 60%-70%.

El tamaño de cada replay normal es variable (según ciertas variables y la duración de la partida), pero una partida completa pesa aproximadamente 35MB-45MB. Al comprimirse estas ocuparán 10MB-15MB.

Los archivos comprimidos tendrán la fecha de modificación establecida a la de la carpeta de origen, así que si los ordenas por fecha deberían de aparecerte en orden cronológico. Esto puede serte útil por si quieres borrar los replays que son muy antiguos para ahorrar espacio.

Restaurar algún replay concreto

Simplemente ve a tu carpeta donde salvaguardas tus replays, selecciona el archivo comprimido que contenga tu replay y descomprímelo en %localappdata%\TslGame\Saved\Demos. Abre el PUBG y podrás visualizar tu replay :) Ten en cuenta que si el replay es de una versión de cliente diferente a la actual puede que el replay no se pueda visualizar o que se visualice con errores.

Incluso puede que no sepas una cosa, los replays no solo se pueden reproducir únicamente en tu ordenador. Tu puedes coger el archivo comprimido y mandárselo a un amigo y que lo descomprima en su carpeta de replays y podrá ver tu replay.

El Script

Ahora sí, el script es este y realmente es muy sencillo:

@echo off
REM PUBG Replays Backup Script v0.1 - lusco

REM ---- You should set these directories -----
set backupdir=D:\PUBG_Replays_Backup
set rarcmddir=C:\Program Files\WinRAR\Rar.exe
REM -------------------------------------------

echo [+] Start PUBG Replays Backup
echo.

IF NOT EXIST "%rarcmddir%" (
	echo [!] Error! Can't find RAR executable file! Please, set correctly the variable 'rarcmddir'
	echo.
	pause
	exit /b
)

IF %backupdir:~-1%==\ SET backupdir=%backupdir:~0,-1%
IF NOT EXIST "%backupdir%" (
	echo [+] Making the new backup directory
	echo.
	mkdir "%backupdir%"
)

FOR /D %%I IN ("%localappdata%\TslGame\Saved\Demos\*") DO (
	IF NOT EXIST "%backupdir%\%%~nxI.rar" (
		echo [+] Adding replay '%%~nxI'
		echo.
		"%rarcmddir%" a -r -ma5 -m5 -ep1 -s -t -y -tl "%backupdir%\%%~nxI.rar" "%%I"
		echo.
	) ELSE (
		echo [+] Skipping: The replay '%%~nxI' is already in the backup folder
		echo.
	)
)

echo [+] PUBG Replays Backup finished!
echo.
exit /b

Copia este código tal cual y guárdalo en un archivo con extensión .bat (por ejemplo "PUBG_Replays_Backup.bat").

Debes de modificar las rutas que se establecen en las primeras líneas:

set backupdir=D:\PUBG_Replays_Backup
set rarcmddir=C:\Program Files\WinRAR\Rar.exe

El valor de backupdir deberá ser el directorio donde quieres que se guarden la copia de los replays. Si este directorio no existe el script lo creará automáticamente la primera vez que se ejecute.

Si no sabes donde guardar los backups una buena opción puedes ser usar la misma carpeta donde el PUBG guarda los replays (esto no provocará ningún conflicto), de manera que los archivos comprimidos con la copia de los replays se irán almacenando en esta carpeta sin problemas:

set backupdir=%localappdata%\TslGame\Saved\Demos

El valor de rarcmddir será la ruta completa de donde se encuentre el fichero Rar.exe. Este es el programa de línea de comandos que nos permite comprimir los replays. De forma normal este programa se encuentra en el mismo directorio donde tenemos instalado el programa WinRAR. Si no tienes instalado el programa WinRAR puedes bajarte directamente el archivo rar.exe necesario aquí.

El script está preparado para ejecutar una versión de RAR que sea compatible con la compresión en formato RAR5, así que asegúrate de tener una versión de WinRAR instalada que sea igual o superior a la 5.0.

¿Cada cuanto debo ejecutar el script?

El script tampoco hace magia, si quieres que se guarden todos tus replays deberás ejecutar el script antes de que un nuevo replay del que aún no se haya hecho copia se elimine de la lista de replays del PUBG. Esto dependerá de cuanto juegues, pero vamos cuando juegues varias partidas pues ejecuta el script, no hay nada malo en que lo ejecutes muy a menudo.

¿Puedo hacer que el script realice copias automáticamente?

Esto queda ya a tu imaginación, el script simplemente se encarga de realizar las copias cada vez que se ejecuta. Puedes añadir el script para que se ejecute cada vez que se inicia el sistema, o añadirlo a una tarea programada que se ejecute cada 12h por ejemplo. O puede que exista algún método (yo no conozco como hacer esto) para que se ejecute el script cada vez que se cierre el pubg. Yo la verdad es que lo tengo puesto para que se ejecute con el inicio del sistema y también lo tengo ahí puesto en el escritorio y cuando cierro el PUBG si me acuerdo pues lo ejecuto.

¿Hay alguna manera de destacar algunos replays que me resulten de gran interés?

No, pero esto puedes hacerlo de otras maneras. Por ejemplo, puedes tener un archivo de texto donde anotar el nombre de archivo de algún replay que quieras recordar, así incluso puedes añadirle comentarios. Puedes simplemente anotar la fecha completa con hora del replay y ya si alguna vez lo quieres ver ya lo buscas por fecha. También puedes simplemente copiar a otra carpeta los backups de estos replays especiales que quieres destacar.

¿Algo más que saber?

Realmente esto es todo. Cabe decir que tal como funciona el script no debes tener miedo a ejecutarlo las veces que quieras, ya que si un replay ya se encuentra copiado en la carpeta de backups el script se saltará este replay y no lo volverá a copiar, vamos, que no te va a causar duplicados.

Decir que aún no lo he probado mucho, así que si veis algún error comentádmelo.

Y esto es todo, aunque realmente el post es un poco largo el script es muy sencillo, pero es que quería explicar como funcionaba el script y como gestiona PUBG los replays. Saludos ;)

1
pepe1

Yo tenia algun replay bloqueado para que no se borrase y en un momento dado quise reproducirlo y me encontre que no pude por que la version del juego cambio.....asi que ojo con las copias .....mejor es pasarlo directamente a otro formado y guardarlo en algun lado.

1 respuesta
willy_chaos

Es lo que iba a decir, de vez en cuando , sacan update tocha y ya dicen que las anteriores replays no podrán ser visualizadas...

RaymaN

#2 los replays son reconstrucciones de la partida, no vídeos. No puedes pasarlo a otro formato. La única solución es instalar la versión del juego que requiera el replay.

pepe1

puedes grabarlo con fraps o sucedaneo y ya tienes conversion....

1 respuesta
RaymaN

#5 sí, y solo tendrás un punto de vista y una cámara, le quitas la gracia al replay xD

pepe1

si solo puedes ver un punto de vista...pero lo puedes ver de la otra manera no se ve ninguno....después de x actualización...