Instalación
El jar del cargador y la licencia, las dependencias y qué añade cada plugin opcional, los archivos que escribe el plugin, la base de datos y sus tablas, las redes y las actualizaciones.
Conseguir el plugin
ExyliaMarket es un plugin premium, a la venta en BuiltByBit y en la
tienda de Exylia. Se
distribuye con el cargador Lukittu, así que el archivo que instalas es el jar del cargador,
Exylia-Market-Loader.jar. Comprado en BuiltByBit, la licencia va incluida en ese jar: no hay ninguna clave
que introducir. El cargador comprueba la licencia en cada arranque, instala ExyliaLib si falta y después
cede el control al plugin.
Antes de empezar
| Plugin | Para qué |
|---|---|
packetevents | Obligatorio. Declarado en depend, así que sin él el servidor no carga ExyliaMarket en absoluto. La línea de valor bajo los objetos se dibuja con paquetes. |
| Un servidor | Paper 1.21.1 o superior, o Folia 1.21.4 o superior. |
ExyliaLib | Obligatorio, versión 1.448.1 o superior. Configuración, menús y preguntas, la base de datos, la fachada de economía, los avisos, las entregas pendientes, /settings, los placeholders, el registro de staff y los canales entre servidores. |
| Una economía | No figura como obligatoria, pero sin ninguna no se puede poner precio a nada: cada módulo que mueve dinero avisa en la consola y se niega a publicar, comprar o vender. Ver más abajo. |
plugin.yml pone ExyliaLib en softdepend a propósito: quien la instala es el cargador, así que el
cargador tiene que poder arrancar sin ella. En un servidor sin ExyliaLib descarga la última versión en
plugins/ y pide un reinicio. En un servidor con una versión anterior deja la última preparada y lo avisa
en la consola; reinicia una vez más para aplicarla.
Plugins opcionales
| Plugin | Qué añade |
|---|---|
ExyliaEconomy o Vault | El dinero. Cada precio se paga a través de la fachada de economía de ExyliaLib, que llega a las monedas de ExyliaEconomy por su ID y a cualquier economía de Vault. Con ExyliaEconomy, las publicaciones, subastas y pedidos pueden tener precio en cualquiera de sus monedas; solo con Vault hay una única moneda. |
PlaceholderAPI | Los placeholders del plugin en scoreboards, tab y hologramas. Ver Placeholders. |
ExyliaSurvivalCore | Sus estadísticas cuentan lo que los jugadores hacen en el mercado — publicado, vendido, comprado, pujas, pedidos completados, usos de varitas — para que misiones, temporadas y clasificaciones puedan leerlas. Sin él no se cuenta nada. Ver Integraciones. |
ExyliaAnalytics | Cada operación cerrada y, cada cinco minutos, una instantánea de lo que contiene cada mercado se envían al panel de Exylia Analytics. |
Instalar
Coloca los jars
Exylia-Market-Loader.jar y packetevents en plugins/, junto con ExyliaEconomy (o Vault y un plugin
de economía) si el servidor todavía no tiene ninguna.
Arranca el servidor
El cargador comprueba la licencia e instala ExyliaLib si falta. Si tuvo que instalarla, reinicia una vez más.
Deja que genere
El plugin escribe config.yml, discord.yml, un config.yml por módulo en modules/, la lista de
valores y los archivos de idioma, crea sus tablas y, sobre una base de datos vacía, llena la tienda y el
bazar con sus catálogos por defecto. La consola termina con ExyliaMarket enabled.
Pruébalo
Cualquier jugador ya puede usar /ah, /auction, /orders, /bazaar, /shop, /sell, /worth,
/trade y /collect. El staff lo abre todo desde /marketadmin. Ver
Primeros pasos.
exyliamarket.sellwands.autosell tiene op por defecto, a diferencia de todos los demás nodos de jugador.
Dáselo a los rangos que deban tener autoventa. Ver Permisos.
Archivos generados
Todos están en plugins/ExyliaMarket/.
| Archivo | Contenido |
|---|---|
config.yml | El idioma, la depuración, los interruptores de los nueve módulos, los indicadores, las categorías, el índice de precios y el registro del mercado. Ver Configuración. |
discord.yml | Los webhooks de Discord, desactivados hasta que se activan. |
database.yml | Dónde se guardan las filas, y Redis. Lo escribe ExyliaLib. |
modules/<module>/config.yml | Uno por módulo: auction-house, auctions, orders, bazaar, shop, sell, sell-wands, trade. |
modules/worth/worth.yml | La lista de valores: un precio por material para /sell. |
lang/<code>/messages.yml | Las líneas principales: errores, avisos, /collect, indicadores, nombres de categorías, palabras de precios, las pantallas de administración. |
lang/<code>/modules/<module>/messages.yml | Las líneas de cada módulo. |
lang/<code>/menus/ | /collect, el selector de moneda y el gráfico de precios. |
lang/<code>/menus/admin/ | Las pantallas de staff: el panel de administración, los ajustes, el registro, las estadísticas, las listas de moderación y los editores del bazar y la tienda. |
lang/<code>/modules/<module>/menus/ | Las pantallas de jugador de cada módulo. |
lang/<code>/modules/trade/window.yml | Los botones y colores de la ventana de intercambio. |
<code> es language en config.yml: default sigue el idioma de ExyliaLib, y se incluyen en, es,
pt, fr, ru y tr. Un módulo desactivado no escribe ni sus menús ni sus tablas.
config.yml, discord.yml, las configuraciones de los módulos y cada messages.yml se escriben a partir
de un esquema: una clave que añade una versión aparece con su valor por defecto, y todo valor que pusiste se
conserva. Las pantallas de jugador son tuyas: una versión solo actualiza una mientras no la hayas editado, y
ofrece la nueva versión junto a una editada. Las pantallas de staff de menus/admin/ son del plugin y se
reescriben desde el jar en cada arranque — una edición ahí no sobrevive a un reinicio. worth.yml se escribe
una vez y nunca se sobrescribe.
Base de datos
Por defecto el plugin usa H2, un archivo dentro de la carpeta del plugin. El motor se elige en
database.yml: h2, mysql, mariadb, postgresql o mongodb. El archivo es de ExyliaLib; su
referencia completa, Redis incluido, está en la
página de base de datos de la librería.
| Tabla | Qué guarda |
|---|---|
sc_market_listings | Las publicaciones de la casa de subastas, con el objeto en la fila mientras está publicado. |
market_watches | La lista de seguimiento de la casa de subastas de cada jugador. |
sc_auctions | Las subastas en curso, su puja más alta y los topes de las pujas automáticas. |
sc_orders | Los pedidos de compra, con lo que los vendedores entregaron en ellos. |
market_bazaar_products, market_bazaar_offers, market_bazaar_volume | Los productos del bazar, sus pedidos de compra y ofertas de venta abiertos, y el volumen diario de cada jugador. |
sc_shop_categories, sc_shop_products, sc_shop_limits, sc_shop_log | La tienda del servidor: sus tiendas y productos, el margen de compra de cada jugador, y cada compra y venta. |
sc_shop_coupons, sc_shop_coupon_uses | Los cupones de la tienda, y quién usó un código de un uso por jugador. |
market_history | Las compras, ventas y subastas perdidas de cada jugador, para las pantallas de historial. |
market_price_daily | El índice de precios: una fila por material, moneda, día y servidor. |
market_log | El registro del mercado detrás de /marketadmin log y la pantalla de estadísticas. |
exylia_pending_rewards | El almacén de ExyliaLib de las entregas que esperan en /collect. |
Las tablas sc_ conservan los nombres que usaban los módulos de mercado de ExyliaSurvivalCore. No hay
importador: un servidor que viene de esos módulos parte de lo que esas tablas ya contienen en esa base de
datos.
Una red
Apunta todos los servidores a la misma base de datos y los mercados serán un único mercado: las mismas
publicaciones, subastas, pedidos, libro del bazar y catálogo de la tienda en todas partes, con avisos que
llegan al jugador en el servidor en el que esté. Activa Redis en database.yml para que un cambio en un
servidor llegue a los demás al instante, y dale a cada servidor su propio nombre, que es lo que el registro
del mercado, el índice de precios y los webhooks guardan como %server%, y lo que nombran los
Servidores de una tienda y la Entrega de un producto.
Los servidores que no deben compartirlo todo — dos survival en un mismo mercado y un servidor de full PvP con
el suyo — se ponen en grupos de red en config.yml, módulo a módulo: un grupo guarda sus filas en tablas
propias, con el grupo delante del nombre (survival_sc_auctions). Ver
Configuración.
Cada tabla está clasificada para /exylialib wipe y /exylialib resetplayer de ExyliaLib, que son la forma
de borrar los datos del mercado o reiniciar a un jugador. Ver
Administración.
Actualizar
El cargador descarga la versión actual al arrancar, así que reiniciar es actualizar. Tus archivos se conservan como se describe más arriba. Los archivos de configuración llevan una versión y se migran en su sitio cuando una versión mueve una clave.
/marketadmin reload vuelve a leer todos los archivos y menús. Activar o desactivar un módulo sigue
necesitando un reinicio, y la recarga indica los módulos que lo están esperando.
¿Falta algo en esta página? Dínoslo en Discord