Skip to content

Configuración

Todas las opciones de Cuxial Screens: shared/config.lua bloque a bloque y las pantallas, apps, sitios del navegador y modelos de data/.

Todos los ajustes están en shared/config.lua. Las pantallas, las apps incluidas, los sitios del navegador y los modelos de pantalla se definen en los archivos de data/.

El bloque os y data/browser.lua también se editan en vivo desde /screensadmin. Una vez guardados ahí, mandan los valores de la base de datos. El botón Fábrica de cada sección vuelve a los archivos.

ui ​

OpciónTipoPor defectoQué hace
ui.accentstringConfigurableColor de acento de Cuxial OS y del panel de staff, en hexadecimal (#rrggbb).

dui ​

Cada pantalla en uso la dibuja un navegador del juego. Estas opciones controlan cuántos hay y su resolución.

OpciónTipoPor defectoQué hace
pixelsnumber921600Píxeles del navegador de cada pantalla (1280 × 720). Ancho y alto siguen el formato de la pantalla del modelo.
minSide / maxSidenumber320 / 2048Lado mínimo y máximo de esa resolución, en píxeles.
maxLivenumber2Navegadores encendidos a la vez. La pantalla que usas siempre tiene uno. Solo se encienden al usar una pantalla o cuando hay que mostrar su espejo.
distancenumber12.0Distancia a la que una pantalla prepara su prop y su opción de interacción. En reposo, el modelo muestra su propia imagen.
releaseMsnumber30000Espera antes de soltar el navegador de una pantalla que nadie usa ni mira.
pagestring'screen.html'Página que carga cada navegador. No la cambies.
readyMsnumber5000Espera máxima a que cargue la página de una pantalla antes de mostrar un error.

use ​

OpciónTipoPor defectoQué hace
interactDistancenumber1.8Distancia de la opción Usar pantalla.
iconstring'fas fa-display'Icono de esa opción.
maxDistancenumber2.5Distancia a la pantalla a la que se cierra la sesión.
hidePedbooleantrueOculta tu personaje mientras usas una pantalla.
overlaybooleantruetrue pinta la pantalla con sus colores reales, sin la luz ni la niebla del juego, mientras la usas.
drawCursorbooleanfalsetrue hace que la pantalla pinte su propio cursor además del del juego. false muestra un solo cursor.
exitKeysstring[]{ 'Escape' }Teclas que cierran la pantalla, con nombres de KeyboardEvent.key. 'Backspace' solo cierra si no estás escribiendo.
checkMsnumber500Cada cuánto comprueba el cliente si has muerto o te has alejado.

camera ​

OpciónTipoPor defectoQué hace
fillnumber0.76Parte del alto de la imagen que ocupa la pantalla.
maxWidthnumber0.9Ancho máximo de la pantalla sobre el ancho de la imagen.
fovnumber40.0Campo de visión de la cámara.
easeMsnumber600Duración de la transición de la cámara.

Una pantalla puede cambiar fill, maxWidth y fov con su propio campo camera.

input ​

OpciónTipoPor defectoQué hace
wheelStepnumber120Paso de la rueda del ratón enviado a la pantalla.
maxTextnumber4000Texto máximo por envío, pegar incluido.

session ​

OpciónTipoPor defectoQué hace
maxDistancenumber4.0Distancia máxima comprobada en el servidor. Déjala algo mayor que use.maxDistance.
checkMsnumber2000Cada cuánto revisa el servidor las sesiones abiertas.

os ​

OpciónTipoPor defectoQué hace
name / buildstring'Cuxial OS' / '1.0.0'Nombre y versión que se ven en el arranque y en Ajustes › Acerca de.
hostnamePrefixstring'CX'Prefijo del nombre de equipo cuando una pantalla no tiene hostname (CX-<id>).
clock24booleantruetrue reloj de 24 horas, false de 12 horas con AM/PM.
bootbooleantrueAnimación de arranque cada vez que se usa una pantalla.
soundsbooleantrueSonidos del sistema. Solo los oye quien usa la pantalla.
defaults.themestring'dark'Tema inicial de cada personaje: 'dark' o 'light'.
defaults.wallpaperstring'ember'Fondo inicial, uno de wallpapers.
defaults.accentstring''Acento inicial. Vacío usa ui.accent.
defaults.volumenumber0.6Volumen inicial de los sonidos del sistema, de 0.0 a 1.0.
accentsstring[]8 coloresColores de acento que se pueden elegir en Ajustes.
wallpapersstring[]ember, ember-light, aurora, dusk, waves, solidFondos que se pueden elegir.
pinnedstring[]files, notes, browserApps ancladas en la barra de tareas, en orden.
desktopstring[]files, notes, calculator, browser, settingsApps con icono en el escritorio, en orden.
pinAttemptsnumber3Intentos de PIN fallidos antes del bloqueo.
pinLockSecondsnumber60Segundos de bloqueo.
limits.files / limits.notesnumber100 / 50Documentos y notas por personaje.
limits.fileName / limits.noteTitlenumber80 / 80Largo máximo del nombre de un documento y del título de una nota.
limits.fileBody / limits.noteBodynumber20000 / 20000Caracteres máximos de un documento y de una nota.

apps ​

Límites de las apps que añaden otros recursos.

OpciónTipoPor defectoQué hace
rateLimit / rateWindowMsnumber20 / 2000Llamadas por jugador que se aceptan de todas las apps externas en esa ventana.
maxPayloadnumber16384Tamaño máximo en bytes de lo que envía una app.
maxResultnumber262144Tamaño máximo en bytes de lo que responde su recurso.
maxPushnumber65536Tamaño máximo en bytes de los datos que el servidor envía a una app.
latentAbove / latentBpsnumber8192 / 262144Los envíos de más de latentAbove bytes viajan como evento latente a latentBps bytes por segundo.
readyMsnumber8000Espera a que una app externa conecte antes de que su ventana muestre un error con Reintentar.

mirror ​

OpciónTipoPor defectoQué hace
defaultModestring'private'Modo de las pantallas que no indican uno: 'private' solo la ve quien la usa, 'mirror' los cercanos ven lo que hace.
distancenumber12.0Distancia a la pantalla para ver el espejo. Nunca más que dui.distance.
slacknumber3.0Margen extra que da el servidor al comprobar esa distancia.
maxViewersnumber8Espectadores por sesión.
maxWatchnumber2Pantallas que un jugador puede mirar a la vez.
rateKBs / burstKBnumber32 / 256Lo que puede subir quien usa la pantalla: KB por segundo sostenidos y ráfaga en KB.
maxBatchKBnumber256Tamaño máximo de un lote en KB. Nunca más que burstKB.
latentAbove / latentKBsnumber4096 / 256Los lotes de más de latentAbove bytes viajan como evento latente a latentKBs KB por segundo.
batchMsnumber[]{ 100, 250, 500 }Intervalo entre lotes en ms: normal, tras un lote de más de 8 KB y tras uno de más de 32 KB.
fullMinMsnumber1500Separación mínima entre dos instantáneas completas.
backlognumber64Lotes recientes que guarda el servidor para quien entra a mitad.
resyncMsnumber2500Espera ante un hueco en los lotes antes de pedir una instantánea nueva.
bufferMsnumber60Retraso de reproducción que absorbe los altibajos de la red.
maxEventsnumber20000Eventos reproducidos antes de pedir una instantánea nueva y liberar memoria.
checkMsnumber2000Cada cuánto revisa el servidor a los espectadores mientras haya alguno.

Mientras una pantalla no tiene espectadores no se graba ni se envía nada.

logs ​

OpciónTipoPor defectoQué hace
retentionDaysnumber30Días que se guardan las acciones del staff en cuxial_screens_log. 0 las guarda para siempre.

admin ​

OpciónTipoPor defectoQué hace
permissionstring'admin'Permiso de staff para /screensadmin y el monitor de prueba.
staffAccessbooleantrueEl staff con ese permiso entra en cualquier pantalla y abre cualquier app, tenga el acceso que tenga.
placeRangenumber40.0Distancia máxima, en metros, a la que se puede mover una pantalla nueva con el gizmo.
pickRadiusnumber3.0Radio, en metros, que usa Buscar en el mapa para encontrar una pantalla del mapa del modelo elegido.

commands ​

OpciónPor defectoQué hace
test{ name = 'screentest', restricted = 'group.admin' }Pone o quita el monitor de prueba.
admin{ name = 'screensadmin' }Panel de staff.
mirror{ name = 'screensmirror', restricted = 'group.admin' }Estado del espejo en la consola del servidor.
registry{ name = 'screensreg', restricted = 'group.admin' }Pantallas registradas en el servidor y en tu cliente.

test ​

OpciónTipoPor defectoQué hace
modelstable[]Uno por formatoMonitor de prueba para cada formato de /screentest. El primero es el de por defecto.
distancenumber1.1Distancia delante del jugador a la que aparece.

data/screens.lua ​

Pantallas fijas, definidas en código. Las que se colocan desde /screensadmin se guardan en la base de datos y no hace falta ponerlas aquí.

CampoTipoQué hace
idstringId único.
modelstringModelo con su cara de pantalla en data/models.lua.
coordsvector3Origen del prop, o posición de la entidad del mapa.
headingnumberRumbo del prop cuando lo crea el script.
propbooleantrue hace que cada cliente cree el modelo en coords. Sin él, el script busca el modelo que ya está en el mapa.
usevector3Punto de interacción. Por defecto, el centro de la pantalla.
labelstringNombre de la pantalla.
hostnamestringNombre de equipo en el inicio de sesión y en Ajustes.
accesstable{ jobs = { [trabajo] = gradoMínimo }, boss = true }. Sin access la puede usar cualquiera. Con boss = true además tiene que ser jefe de ese trabajo.
appsstring[]Apps que muestra esta pantalla. Sin él, todas las que permita el acceso del jugador.
tagsstring[]Etiquetas. Una app externa con tags aparece en las pantallas que compartan alguna.
pinstringPIN de inicio de sesión. Se queda en el servidor. Sin él, el inicio de sesión muestra un botón.
modestring'private' o 'mirror'. Por defecto mirror.defaultMode.
mirrorOfstringId de otra pantalla. Esta no se puede usar: solo muestra el espejo de aquella.
cameratable{ fill, maxWidth, fov } de esta pantalla.
interactbooleanfalse quita la opción de interacción. La pantalla solo la abre otro recurso.
data/screens.lua
lua
return {
    {
        id = 'pd_desk',
        label = 'Recepción',
        model = 'cuxial_screens_test',
        coords = vec3(441.2, -978.9, 30.7),
        heading = 180.0,
        prop = true,
        access = { jobs = { police = 0 } },
        pin = '1234',
        mode = 'mirror',
    },
}

data/apps.lua ​

Las apps incluidas: files, notes, calculator, browser y settings.

CampoTipoQué hace
idstringId de la app.
labelstringClave de traducción o texto.
iconstringId del icono.
size / minSizetable{ w, h } de la ventana al abrirse y su tamaño mínimo.
accesstable{ jobs = { [trabajo] = gradoMínimo } }. Sin él, todos.
screensstring[]Ids de pantalla donde aparece. Sin él, en todas.
privatebooleantrue muestra una tarjeta en lugar de su contenido a quien mira el espejo.

data/browser.lua ​

Los sitios del navegador. Solo se pueden abrir las direcciones de esta lista. Los sitios incluidos son ejemplos para cambiar por los tuyos.

CampoTipoQué hace
addressstringDirección que se escribe en la barra: en minúsculas, sin https:// ni www..
titlestringTítulo de la página.
bookmarkbooleantrue la añade a la barra de marcadores.
kindstring'blocks' página hecha con bloques, o 'url' web externa en un marco.
urlstringSolo con kind = 'url'. Tiene que empezar por https://.
blockstable[]Contenido de una página 'blocks'.

Bloques disponibles:

BloqueCampos
h1, h2, ptext
listitems (textos)
noticetext, tone ('info', 'warn' u 'ok')
linksitems ({ label, href })
tablehead, rows
imgsrc (https://), alt
data/browser.lua
lua
{
    address = 'noticias.ls',
    title = 'Noticias de la ciudad',
    bookmark = true,
    kind = 'blocks',
    blocks = {
        { t = 'h1', text = 'Noticias de la ciudad' },
        { t = 'notice', tone = 'warn', text = 'Obras en la autopista del Senora.' },
        { t = 'links', items = { { label = 'Ayuntamiento', href = 'ayuntamiento.ls' } } },
    },
},

data/models.lua ​

Los modelos que se pueden usar como pantalla y dónde está su pantalla. Los monitores incluidos ya están en la lista.

CampoTipoQué hace
txdstringDiccionario de texturas del modelo (su propio nombre).
texturestringTextura de la cara de pantalla, que se sustituye por la imagen de la pantalla.
cornersvector3[]Las cuatro esquinas de la pantalla en espacio local del modelo: arriba izquierda, arriba derecha, abajo derecha, abajo izquierda.
resolutiontable{ w, h } opcional que fija la resolución de esta pantalla.

Cada modelo de esta lista necesita una textura de pantalla con nombre propio. Dos pantallas con la misma textura muestran la misma imagen y solo una de ellas tiene navegador a la vez. El panel de staff las marca con Textura compartida.

© Cuxial