Códigos de error y límites de almacenamiento de datos

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Las solicitudes que realices a los almacenes de datos pueden fallar debido a una conectividad deficiente u otros problemas. Para manejar errores y devolver mensajes con un código de error, envuelve las funciones del almacén de datos en pcall().

Una llamada de escritura fallida, como UpdateAsync(), significa que el servidor del juego no recibió una respuesta exitosa. No garantiza que la escritura en el backend no haya ocurrido. En algunos escenarios de falla, el estado final de la escritura puede ser desconocido para el llamador hasta que se verifique con una lectura de seguimiento sin caché.

Referencia de códigos de error

Código de errorNombre de errorMensaje de errorNotas
101KeyNameEmptyEl nombre de la clave no puede estar vacío.Verifica si la clave ingresada en la función del almacén de datos es una cadena vacía.
102KeyNameLimitEl nombre de la clave excede el límite de 50 caracteres.Verifica si la clave ingresada en la función del almacén de datos excede una longitud de 50.
103ValueNotAllowedNo se puede permitir X en DataStore.Una función de actualización incorrecta devolvió un valor de tipo X.
104CantStoreValueNo se puede almacenar X en DataStore.La función de actualización devolvió un valor de tipo X que no se serializó.
105ValueTooLargeEl valor serializado excede el límite de X.Si estás configurando un valor con SetAsync() o UpdateAsync(), la longitud serializada del valor no puede exceder el tamaño X. Para verificar la longitud serializada de los datos, utiliza JSONEncode().
106MaxValueInvalidMaxValue debe ser un número entero.Si pasas un valor máximo a GetSortedAsync() para un OrderedDataStore, debe ser un entero.
106MinValueInvalidMinValue debe ser un número entero.Si pasas un valor mínimo a GetSortedAsync() para un OrderedDataStore, debe ser un entero.
106PageSizeGreaterPageSize debe estar dentro de un rango predefinido.El tamaño de página mínimo para un OrderedDataStore es 1.
106PageSizeLesserPageSize debe estar dentro de un rango predefinido.El tamaño de página máximo para un OrderedDataStore es 100.
107MinMaxOrderInvalidMaxValue debe ser mayor o igual a MinValue.El valor máximo debe ser mayor o igual al valor mínimo para GetSortedAsync().
301GetAsyncThrottleSolicitud GetAsync descartada. La solicitud fue limitada pero la cola estaba llena.La solicitud GetAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
302SetAsyncThrottleSolicitud SetAsync descartada. La solicitud fue limitada pero la cola estaba llena.La solicitud SetAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
303IncreAsyncThrottleSolicitud IncrementAsync descartada. La solicitud fue limitada pero la cola estaba llena.La solicitud IncrementAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
304UpdateAsyncThrottleSolicitud UpdateAsync descartada. La solicitud fue limitada pero la cola estaba llena.La solicitud UpdateAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
304TransformThrottleSolicitud UpdateAsync descartada. La solicitud fue limitada pero la cola estaba llena.La solicitud UpdateAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
305GetSortedThrottleSolicitud GetSorted descartada. La solicitud fue limitada pero la cola estaba llena.La solicitud GetSortedAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
306RemoveAsyncThrottleSolicitud RemoveAsync descartada. La solicitud fue limitada pero la cola estaba llena.La solicitud RemoveAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
401DataModelNoAccessLa solicitud ha fallado. DataModel es inaccesible mientras la experiencia se está apagando.DataModel no está inicializado porque la experiencia se está apagando.
402LuaWebSrvsNoAccessLa solicitud ha fallado. LuaWebService es inaccesible mientras la experiencia se está apagando.LuaWebService no está inicializado porque la experiencia se está apagando.
403StudioAccessToApisNotAllowedNo se puede escribir en DataStore desde Studio porque el acceso a la API no está habilitado.El acceso a la API debe estar activo para utilizar almacenes de datos en Studio.
404InternalErrorOrderedDataStore no existe.El OrderedDataStore asociado con esta solicitud no fue encontrado. Esto podría ser una señal de corrupción de datos. Intenta de nuevo más tarde.
501InternalErrorNo se puede analizar la respuesta porque los datos pueden estar corruptos.El servidor no pudo analizar la respuesta a tu solicitud. Esto podría ser una señal de corrupción de datos. Intenta de nuevo más tarde.
502RequestRejectedLos Servicios API rechazaron la solicitud con el error X.Error X ocurrió al procesar en los servidores de Roblox. Intenta de nuevo más tarde.
503InternalErrorLa solicitud del almacén de datos fue exitosa, pero no se encontró la clave.La clave solicitada no se encontró en el almacén de datos. Esto podría ser una señal de corrupción de datos. Intenta de nuevo más tarde.
504InternalErrorLa solicitud del almacén de datos fue exitosa, pero la respuesta no estaba formateada correctamente.El servidor no pudo analizar la respuesta a tu solicitud. Esto podría ser una señal de corrupción de datos. Intenta de nuevo más tarde.
505InternalErrorLa solicitud del OrderedDataStore fue exitosa, pero la respuesta no estaba formateada correctamente.El servidor no pudo analizar la respuesta a tu solicitud de OrderedDataStore. Esto podría ser una señal de corrupción de datos. Intenta de nuevo más tarde.
509OperationNotAllowedLas operaciones del almacén de datos están bloqueadas mientras se ejecuta en un RCC Personal para prevenir posibles corrupciones de datos.Las escrituras en el almacén de datos están bloqueadas en canales RCC privados.
511AttributeSizeTooLargeEl tamaño del atributo de metadatos excede el límite de X.El tamaño de los metadatos serializados excede el límite de X. El valor X es dinámico. Si el tamaño cambia, el valor también cambia.
512UserIdLimitExceededEl tamaño de UserID excede el límite de X.La longitud del array de IDs de usuario proporcionado por el usuario excede el límite de X.
513AttributeFormatErrorEl formato del atributo userId es inválido.El ID de usuario proporcionado no es un número.
513AttributeFormatErrorEl formato de los metadatos del atributo es inválido.Los metadatos no son una tabla.
GetVersionAsyncThrottleSolicitud GetVersionAsync descartada. La solicitud fue limitada.La solicitud GetVersionAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
GetVersionAtTimeAsyncThrottleSolicitud GetVersionAtTimeAsync descartada. La solicitud fue limitada.La solicitud GetVersionAtTimeAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
ListDataStoresAsyncThrottleSolicitud ListDataStoresAsync descartada. La solicitud fue limitada.La solicitud ListDataStoresAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
ListKeysAsyncThrottleSolicitud ListKeysAsync descartada. La solicitud fue limitada.La solicitud ListKeysAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
ListVersionsAsyncThrottleSolicitud ListVersionsAsync descartada. La solicitud fue limitada.La solicitud ListVersionsAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
RemoveVersionAsyncThrottleSolicitud RemoveVersionAsync descartada. La solicitud fue limitada.La solicitud RemoveVersionAsync() ha excedido el tamaño máximo de la cola y Roblox no puede procesar las solicitudes en el rendimiento actual.
InvalidTimestampLa marca de tiempo debe ser positiva y no más de diez minutos en el futuro.La marca de tiempo proporcionada a GetVersionAtTimeAsync() no fue válida.
StandardReadExperienceThrottledLa solicitud StandardRead fue limitada por los límites de experiencia.Una solicitud a GetAsync(), GetVersionAsync(), GetVersionAtTimeAsync(), o la lectura de UpdateAsync() en un almacén de datos estándar excedió el límite de tasa de nivel de experiencia de StandardRead.
StandardWriteExperienceThrottledLa solicitud StandardWrite fue limitada por los límites de experiencia.Una solicitud a SetAsync(), IncrementAsync(), o la escritura de UpdateAsync() en un almacén de datos estándar excedió el límite de tasa de nivel de experiencia de StandardWrite.
StandardListExperienceThrottledLa solicitud StandardList fue limitada por los límites de experiencia.Una solicitud a ListKeysAsync(), ListVersionsAsync(), o ListDataStoresAsync() en almacenes de datos estándar excedió el límite de tasa de nivel de experiencia de StandardList.
StandardRemoveExperienceThrottledLa solicitud StandardRemove fue limitada por los límites de experiencia.Una solicitud a RemoveAsync() en un almacén de datos estándar excedió el límite de tasa de nivel de experiencia de StandardRemove.
OrderedReadExperienceThrottledLa solicitud OrderedRead fue limitada por los límites de experiencia.Una solicitud a GetAsync() o la lectura de UpdateAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de experiencia de OrderedRead.
OrderedWriteExperienceThrottledLa solicitud OrderedWrite fue limitada por los límites de experiencia.Una solicitud a SetAsync(), IncrementAsync(), o la escritura de UpdateAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de experiencia de OrderedWrite.
OrderedListExperienceThrottledLa solicitud OrderedList fue limitada por los límites de experiencia.Una solicitud a GetSortedAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de experiencia de OrderedList.
OrderedRemoveExperienceThrottledLa solicitud OrderedRemove fue limitada por los límites de experiencia.Una solicitud a RemoveAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de experiencia de OrderedRemove.
StandardReadGameServerThrottledLa solicitud StandardRead fue limitada por los límites del servidor del juego o la cola de solicitudes estaba llena.Una solicitud a GetAsync(), GetVersionAsync(), GetVersionAtTimeAsync(), o la lectura de UpdateAsync() en un almacén de datos estándar excedió el límite de tasa de nivel de servidor del juego de StandardRead.
StandardWriteGameServerThrottledLa solicitud StandardWrite fue limitada por los límites del servidor del juego o la cola de solicitudes estaba llena.Una solicitud a SetAsync(), IncrementAsync(), o la escritura de UpdateAsync() en un almacén de datos estándar excedió el límite de tasa de nivel de servidor del juego de StandardWrite.
StandardListGameServerThrottledLa solicitud StandardList fue limitada por los límites del servidor del juego o la cola de solicitudes estaba llena.Una solicitud a ListKeysAsync(), ListVersionsAsync(), o ListDataStoresAsync() en almacenes de datos estándar excedió el límite de tasa de nivel de servidor del juego de StandardList.
StandardRemoveGameServerThrottledLa solicitud StandardRemove fue limitada por los límites del servidor del juego o la cola de solicitudes estaba llena.Una solicitud a RemoveAsync() en un almacén de datos estándar excedió el límite de tasa de nivel de servidor del juego de StandardRemove.
OrderedReadGameServerThrottledLa solicitud OrderedRead fue limitada por los límites del servidor del juego o la cola de solicitudes estaba llena.Una solicitud a GetAsync() o la lectura de UpdateAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de servidor del juego de OrderedRead.
OrderedWriteGameServerThrottledLa solicitud OrderedWrite fue limitada por los límites del servidor del juego o la cola de solicitudes estaba llena.Una solicitud a SetAsync(), IncrementAsync(), o la escritura de UpdateAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de servidor del juego de OrderedWrite.
OrderedListGameServerThrottledLa solicitud OrderedList fue limitada por los límites del servidor del juego o la cola de solicitudes estaba llena.Una solicitud a GetSortedAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de servidor del juego de OrderedList.
OrderedRemoveGameServerThrottledLa solicitud OrderedRemove fue limitada por los límites del servidor del juego o la cola de solicitudes estaba llena.Una solicitud a RemoveAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de servidor del juego de OrderedRemove.

Códigos de error del servidor

Nombre de errorMensaje de errorNotas
DatastoreDeletedEl almacén de datos ha sido eliminado.No se pudo realizar una operación en el almacén de datos porque el almacén de datos fue eliminado previamente.
DatastoreThrottledLa tasa de solicitudes excede el máximo permitido para el datastore.Se enviaron demasiadas solicitudes a un único almacén de datos.
InternalServerErrorOcurrió un error interno del servidor.Error ocasional en los servidores de Roblox. Intenta de nuevo, idealmente con retroceso exponencial.
InvalidExclusiveStartKeyLa clave de inicio exclusivo proporcionada no es válida.La clave de inicio exclusivo (cursor) proporcionada a una operación de lista como ListKeysAsync() no es válida.
InvalidPlaceEl lugar proporcionado es inválido.No hay una ID de Un universo correspondiente para el lugar. Intenta de nuevo más tarde.
InvalidTargetEl objetivo proporcionado es inválido.El nombre de clave del almacén de datos ordenado excede el límite de 50 caracteres.
InvalidUniverseEl universo proporcionado es inválido.No hay un ID de Lugar correspondiente para el universo. Intenta de nuevo más tarde.
InvalidUserIdsLos IDs de usuario proporcionados tienen un formato inválido.No se pudo analizar los IDs de usuario.
KeyThrottledLa tasa de solicitudes excede el máximo permitido para la clave.La tasa de solicitudes excede la tasa máxima permitida para una única clave.
KeyNotFoundLa clave solicitada no existe.La clave no existe.
N/ANo hay páginas a las que avanzar.Este error ocurre cuando llamas a Pages:AdvanceToNextPageAsync() en la última página.
StandardReadExperienceThrottledLa tasa de solicitudes de lectura estándar excede el máximo permitido para la experiencia.Una solicitud a GetAsync(), GetVersionAsync(), GetVersionAtTimeAsync(), o la lectura de UpdateAsync() en un almacén de datos estándar excedió el límite de tasa de nivel de experiencia de StandardRead.
StandardWriteExperienceThrottledLa tasa de solicitudes de escritura estándar excede el máximo permitido para la experiencia.Una solicitud a SetAsync(), IncrementAsync(), o la escritura de UpdateAsync() en un almacén de datos estándar excedió el límite de tasa de nivel de experiencia de StandardWrite.
StandardListExperienceThrottledLa tasa de solicitudes de lista estándar excede el máximo permitido para la experiencia.Una solicitud a ListKeysAsync(), ListVersionsAsync(), o ListDataStoresAsync() en almacenes de datos estándar excedió el límite de tasa de nivel de experiencia de StandardList.
StandardRemoveExperienceThrottledLa tasa de solicitudes de eliminación estándar excede el máximo permitido para la experiencia.Una solicitud a RemoveAsync() en un almacén de datos estándar excedió el límite de tasa de nivel de experiencia de StandardRemove.
OrderedReadExperienceThrottledLa tasa de solicitudes de lectura ordenada excede el máximo permitido para la experiencia.Una solicitud a GetAsync() o la lectura de UpdateAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de experiencia de OrderedRead.
OrderedWriteExperienceThrottledLa tasa de solicitudes de escritura ordenada excede el máximo permitido para la experiencia.Una solicitud a SetAsync(), IncrementAsync(), o la escritura de UpdateAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de experiencia de OrderedWrite.
OrderedListExperienceThrottledLa tasa de solicitudes de lista ordenada excede el máximo permitido para la experiencia.Una solicitud a GetSortedAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de experiencia de OrderedList.
OrderedRemoveExperienceThrottledLa tasa de solicitudes de eliminación ordenada excede el máximo permitido para la experiencia.Una solicitud a RemoveAsync() en un almacén de datos ordenado excedió el límite de tasa de nivel de experiencia de OrderedRemove.

Límites

Los modelos de datos tienen límites. Si una experiencia excede estos límites, el servicio automáticamente limita el uso del almacén de datos de la experiencia y hace que las futuras solicitudes se coloquen en una de las siguientes colas:

  • Establecer
  • Conjuntos ordenados
  • Obtener
  • Obtener ordenado

Las solicitudes en una cola se manejan en el orden en que se reciben. La función llamada continúa esperando mientras su solicitud siga en cola. Si la clave del almacén de datos en sí está limitada, la solicitud se coloca en una cola pero se omite temporalmente.

Cada cola tiene un límite de 30 solicitudes. Cuando se alcanza el límite de una cola, las solicitudes fallan con un código de error en el rango de 301-306, indicando que las solicitudes han sido completamente descartadas.

Límites de acceso

Los almacenes de datos están sujetos tanto a límites de experiencia como de servidor. Los límites a nivel de experiencia escalan con el número total de usuarios concurrentes en la experiencia, mientras que los límites a nivel de servidor son configurables y deben ser utilizados como una herramienta por el creador.

Límites de experiencia

Cada experiencia tiene permitido un cierto número de solicitudes al almacén de datos basado en el tipo de almacén de datos, tipo de solicitud y número de usuarios concurrentes. Para cada tipo de almacén de datos y tipo de solicitud, el límite se comparte entre todas las funciones listadas.

Ten en cuenta que UpdateAsync() consume tanto del presupuesto de solicitudes de lectura como de escritura. Una sola llamada disminuirá ambos límites.

Almacenes de datos estándar
Tipo de solicitudFuncionesSolicitudes por minuto
LeerGetAsync()
GetVersionAsync()
GetVersionAtTimeAsync()
UpdateAsync()
250 + concurrentUsers × 40
EscribirSetAsync()
IncrementAsync()
UpdateAsync()
250 + concurrentUsers × 20
ListarListDataStoresAsync()
ListKeysAsync()
ListVersionsAsync()
10 + concurrentUsers × 2
EliminarRemoveAsync()100 + concurrentUsers × 40
Almacenes de datos ordenados
Tipo de solicitudFuncionesSolicitudes por minuto
LeerGetAsync()
UpdateAsync()
250 + concurrentUsers × 40
EscribirSetAsync()
IncrementAsync()
UpdateAsync()
250 + concurrentUsers × 20
ListarGetSortedAsync()100 + concurrentUsers × 2
EliminarRemoveAsync()100 + concurrentUsers × 40

Límites del servidor

Cada servidor tiene un límite de tasa configurable para cada tipo de solicitud, basado en el número de jugadores en ese servidor. Los servidores reciben un impulso de presupuesto adicional por una sola vez cuando son creados por primera vez. Utiliza GetRequestBudgetForRequestType() para confirmar el número de solicitudes al almacén de datos que el servidor actual puede realizar en cualquier momento.

Estos límites son configurables por el creador mediante el API SetRateLimitForRequestType(). Usando esta API, un creador puede configurar sus propios límites de tasa para los almacenes de datos para cada tipo de solicitud.

Los siguientes límites de tasa por defecto se aplican si la API no es llamada:

Almacenes de datos estándar
Tipo de solicitudDataStoreRequestType EnumFuncionesSolicitudes por minuto
LeerStandardReadGetAsync()
GetVersionAsync()
GetVersionAtTimeAsync()
UpdateAsync()
60 + numPlayers × 40
EscribirStandardWriteSetAsync()
IncrementAsync()
UpdateAsync()
60 + numPlayers × 40
ListarStandardListListDataStoresAsync()
ListKeysAsync()
ListVersionsAsync()
5 + numPlayers × 2
EliminarStandardRemoveRemoveAsync()60 + numPlayers × 40
EliminarVersión (Obsoleto)RemoveVersionAsyncRemoveVersionAsync()5 + numPlayers × 2
Almacenes de datos ordenados
Tipo de solicitudDataStoreRequestType EnumFuncionesSolicitudes por minuto
LeerOrderedReadGetAsync()
UpdateAsync()
60 + numPlayers × 40
EscribirOrderedWriteSetAsync()
IncrementAsync()
UpdateAsync()
30 + numPlayers × 5
ListarOrderedListGetSortedAsync()5 + numPlayers × 2
EliminarOrderedRemoveRemoveAsync()30 + numPlayers × 5

Límites de datos

Los almacenes de datos limitan la cantidad de datos que se pueden usar por entrada.

El nombre del almacén de datos, el nombre de la clave y el alcance deben estar todos bajo una cierta longitud de caracteres. Utiliza string.len() para verificar su longitud.

Los datos (valor de clave) también se almacenan como una cadena, independientemente de su tipo inicial. Puedes verificar el tamaño de los datos con la función JSONEncode(), que convierte los datos de Luau en una tabla JSON serializada.

ComponenteNúmero máximo de caracteres
Nombre del almacén de datos50
Nombre de la clave50
Alcance50
Datos (valor de clave)4,194,304 por clave

Límites de metadatos

Límites en el número de caracteres en los metadatos definidos por el usuario.

ComponenteNúmero máximo de caracteres
Nombre de la clave50
Valor250
Pares clave-valor300

Límites de rendimiento

Los límites de rendimiento por clave aseguran que el rendimiento sea óptimo en los servidores de Roblox. Cada límite se aplica a cada clave única en todos los servidores en una experiencia y se refresca con el tiempo.

Roblox examina el uso del cupo asociado con la clave durante los últimos 60 segundos. Si el uso, incluida la solicitud actual, se encuentra dentro del límite de rendimiento, la solicitud es aprobada. Si el uso excede el límite, la solicitud es denegada.

Tipo de solicitudLímite
Leer25 MB por minuto
Escribir4 MB por minuto

Además de los límites de rendimiento antes mencionados, Roblox organiza los datos en particiones basadas en un esquema interno. Como resultado, cuando el servidor backend recibe un alto volumen de solicitudes al mismo almacén de datos, esto puede resultar en un mayor límite de tasas. Independientemente de la causa, el limitamiento se manifiesta como errores de DatastoreThrottled o KeyThrottled, dependiendo de si se excedió el límite de rendimiento para un almacén de datos único o una clave. Estos mensajes de error se aplican tanto a los almacenes de datos ordenados como a los estándares.

Límites de almacenamiento

En el futuro, para proporcionar una experiencia de almacenamiento escalable y estable, los almacenes de datos implementarán un límite de almacenamiento a nivel de experiencia sobre tu uso del almacenamiento.

Este límite será la suma de un límite base para cada una de tus experiencias y un límite por usuario basado en el número de usuarios de por vida en tu experiencia. Un usuario de por vida es cualquier usuario que se haya unido a tu experiencia al menos una vez.

El límite de almacenamiento se calculará utilizando la fórmula Límite total de almacenamiento de la última versión = 100 MB + 1 MB * número total de usuarios de por vida.

Cualquier clave que eliminaste o reemplazaste, incluso si aún es accesible a través de APIs de versión, no cuenta hacia el uso de almacenamiento de tu experiencia. Sin embargo, los almacenes de datos completos eliminados a través del método Open Cloud DeleteDataStore seguirán contando para tu uso de almacenamiento durante la duración de su periodo de procesamiento de 30 días, hasta que sean eliminados permanentemente.

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.