Hacé que las fotos y videos que tus jugadores sacan con la cámara in-game se guarden en tu CDN con URLs permanentes. Probado en LBPhone 2.8.2.
LBPhone permite configurar un destino de subida para la cámara in-game. Por defecto apunta a Fivemanage, pero acepta cualquier servicio propio a través del método "Custom".
Conectándolo a fivehub.pro, cada foto que un jugador saque desde el celular se sube a tu organización y queda con una URL permanente. Sin links de Discord que caducan, sin límites de tráfico, y todo visible en tu panel para poder moderar.
Entrá a tu panel de fivehub.pro, andá a API Key y creá una nueva. Necesitás una key de organización (empieza con fivehub_org_), no una personal.
Copiala en un lugar seguro: se muestra una sola vez.
En lb-phone/config/config.lua buscá Config.UploadMethod y poné las tres líneas en "Custom". Sin este paso, LBPhone sigue subiendo con Fivemanage y nunca usa tu configuración.
Es el paso que más se olvida, y falla en silencio: todo parece bien y las fotos siguen yendo al servicio anterior.
Buscá UploadMethods y editá la entrada Custom. Ahí van la URL de fivehub.pro, el nombre del campo del formulario, y las rutas para leer la respuesta.
El bloque completo está abajo en el código de referencia.
En lb-phone/config/config.lua agregá fivehub.pro a ExternalWhitelistedDomains y a UploadWhitelistedDomains.
Son dos listas distintas y hacen falta las dos.
Buscá la tabla API_KEYS y poné tu key en Video, Image y Audio. Podés usar la misma en las tres.
Después de esto, reiniciá el recurso con ensure lb-phone.
UploadMethods = {
Custom = {
Video = {
url = "https://fivehub.pro/api/assets",
field = "file",
headers = {
["x-api-key"] = "API_KEY",
},
success = { path = "publicUrl" },
},
Image = {
url = "https://fivehub.pro/api/assets",
field = "file",
headers = {
["x-api-key"] = "API_KEY",
},
success = { path = "publicUrl" },
},
Audio = {
url = "https://fivehub.pro/api/assets",
field = "file",
headers = {
["x-api-key"] = "API_KEY",
},
success = { path = "publicUrl" },
},
},
}Config.ExternalWhitelistedDomains = {
"fivemanage.com",
"fivehub.pro",
}
Config.UploadWhitelistedDomains = {
"fivemanage.com",
"fmfile.com",
"amazonaws.com",
"fivehub.pro",
}API_KEYS = {
Video = "fivehub_org_TU_KEY",
Image = "fivehub_org_TU_KEY",
Audio = "fivehub_org_TU_KEY",
}Con el servidor arriba, sacá una foto desde el celular in-game y esperá unos segundos.
Los cuatro fallos que aparecen casi siempre, y qué los causa.
| Síntoma | Causa |
|---|---|
| La foto no sube y no hay ningún error visible | Falta poner Config.UploadMethod en "Custom". LBPhone sigue usando el método anterior y nunca llega a tu configuración. |
| La consola tira un error de dominio no permitido | fivehub.pro no está en ExternalWhitelistedDomains o en UploadWhitelistedDomains. Hay que agregarlo a las dos. |
| Sube, pero la foto aparece rota | La API key es personal en lugar de de organización, o está mal copiada. Tiene que empezar con fivehub_org_. |
| La respuesta dice que la key es inválida | La key fue revocada o vencida. Generá una nueva en el panel y actualizá apiKeys.lua. |
No. Una sola key de organización sirve para los tres. Si querés revocarla, revocás todo junto.
El excedente se factura por GB. El servicio no se corta y las subidas siguen funcionando, así que los jugadores no se enteran.
Las URLs son públicas pero no adivinables, y todas aparecen en tu panel. Podés moderar o borrar cualquier contenido desde ahí.
Esta guía está probada en la 2.8.2. En otras versiones la ruta de los archivos puede cambiar; verificá que existan antes de editar.
En las configuraciones de ejemplo que circulan, la URL incluye ?api=API_KEY y un header Authorization. El servidor de fivehub.pro no lee ninguno de los dos: autentica solamente por el header x-api-key.
Conviene sacarlos. Una API key en un query string termina en logs de servidor, de proxy y de analítica, donde puede quedar expuesta sin que te enteres.
Creá tu cuenta gratis: 20 GB, SDK nativo en Lua y URLs permanentes desde el primer minuto.