Contenido generado con IA — puede contener errores.

Vender al servidor

Tienda

La tienda del servidor: tiendas dentro de tiendas editadas en el juego, con sus propios comandos y servidores, productos de objeto y de comando, precios fijos, por demanda y aleatorios, stock, límites, rebajas y cupones, regalos, el carrito, el historial, las celebraciones y el catálogo por defecto.

La tienda propia del servidor: tiendas de productos con un precio de compra, uno de venta o ambos, y tiendas dibujadas dentro de otras tiendas. Todo el catálogo vive en la base de datos y se edita desde el juego — no hay ningún archivo de tienda que escribir. Por defecto todos los servidores sobre la base de datos comparten un catálogo, y cada tienda elige los servidores que la ofrecen.

ID del módulo shop, archivo modules/shop/config.yml, comandos /shop y /shopadmin (también /shopa).

Para los jugadores

/shop abre la portada: un botón por cada tienda que no está dentro de otra, un botón Historial y un botón Carrito. Cuando un servidor ofrece una sola tienda, /shop se salta la portada y abre esa tienda; su botón de volver cierra entonces el menú. /shop <id> abre una tienda directamente, y una tienda puede tener comandos propios, como /blocks o /store (ver Tiendas).

Dentro de una tienda, los productos y las tiendas que contiene comparten una cuadrícula, donde los colocó el administrador. Una tienda para la que el jugador no tiene permiso se oculta, o se dibuja bloqueada cuando hide-locked-categories está desactivado. Cada producto muestra su precio de compra y de venta y cuántos llevas; si el precio se está moviendo, su descuento, su stock y lo que te deja tu límite solo se muestran cuando aplican. La fila de abajo tiene Volver (a la tienda de arriba, o a la portada), Carrito y un botón Vender que abre la ventana de /sell con un clic izquierdo y lo vende todo con un clic derecho.

ClicQué hace
IzquierdoComprar: abre la pantalla de cantidad.
DerechoVender: abre la pantalla de cantidad.
Shift + izquierdo / derechoCompra o vende shift-click-amount unidades en el acto.

La pantalla de cantidad tiene botones ±1, ±16, ±64, Uno y Máx.; desde uno, +16 lleva a 16, no a 17. La cantidad se detiene en max-amount, el stock, lo que te deja tu límite y lo que puedes pagar; al vender, en lo que llevas y en tu margen de venta. Confirmar solo aparece cuando la operación puede hacerse. Al comprar, la pantalla tiene además Cupón y Regalo en sus esquinas de abajo y Añadir al carrito encima de Volver.

  • Comprar algo que no cabe entero pregunta primero, desde la pantalla de cantidad o con un shift-clic: si dices que sí, lo que cabe va a tu inventario y el resto espera en /collect. Nada acaba nunca en el suelo.
  • Vender toma los objetos que coinciden de tu inventario (no la armadura ni la mano secundaria) y después paga. Vender un producto que tiene stock lo repone, hasta su máximo.
Una unidad es el stack entero del producto

El precio de un producto es por el objeto tal como se configuró, cantidad incluida. Un producto creado a partir de 16 flechas vende 16 cada vez, y los objetos de los jugadores se comparan exactamente — nombre, lore y encantamientos — ignorando solo la cantidad.

Regalos

Regalo en la pantalla de cantidad pide un nombre: cualquiera que haya jugado en el servidor. Paga el comprador y la compra cuenta para los límites del comprador; el destinatario recibe los objetos en su inventario, o en /collect cuando no está aquí, y un producto de comando ejecuta sus comandos para él allí donde esté. Al destinatario se le avisa, al momento o en su siguiente conexión. Dejar el nombre en blanco vuelve a comprar para ti.

No puedes regalarte a ti mismo, y un regalo a un jugador que está en combate en este servidor se rechaza indicando lo que le queda al combate. Necesita exyliamarket.shop.gift.

Cupones

Cupón pide un código y lo comprueba al momento; el código se queda en la pantalla hasta la compra. Quita su porcentaje de toda la compra, después de cualquier descuento. Un código se rechaza cuando no existe, ha caducado, se ha agotado, este jugador ya lo usó (un código de un uso por jugador) o es para otra tienda. Un uso solo se gasta cuando la compra sale adelante: un pago que falla lo devuelve. Los cupones los crea el staff, ver Cupones y rebajas.

El carrito

Añadir al carrito aparta la cantidad de la pantalla en lugar de comprarla. El carrito (/shop cart, o el botón Carrito) guarda hasta 54 productos, mientras estás en el servidor, y se vacía al salir. Estar en el carrito no reserva nada: precios, stock y límites se vuelven a leer al pagar.

En el carritoQué hace
Clic izquierdo / derecho en una líneaUna más / una menos.
Shift + clic derechoSaca la línea.
Vaciar carritoPregunta y lo vacía. No necesita permiso.
PagarComprueba que puedes pagar el total, pregunta con el total por moneda y después compra cada línea igual que una compra suelta. Una línea que no se puede comprar — agotada, por encima de un límite, que no cabe — se queda en el carrito.

Los productos de comando se añaden una vez. Añadir y pagar necesitan exyliamarket.shop.cart.

Historial

/shop history, o el botón Historial de la portada, lista las últimas 180 cosas que compraste y vendiste en la tienda, lo más reciente primero: qué, cuántas, por cuánto y hace cuánto.

Productos

CampoQué hace
TipoObjeto, o Comando: comandos de consola que se ejecutan al comprar, con %player%. Los productos de comando se compran de uno en uno y nunca se revenden.
Objeto, nombre, descripciónQué se vende y cómo se muestra. Un nombre en blanco usa el del propio objeto.
Precio de compra, precio de ventaCualquiera de los dos puede estar desactivado. Desactivados ambos muestra "No está a la venta ahora mismo".
MonedaCualquier moneda del servidor.
PrecioFijo, Por demanda o Aleatorio. Ver abajo.
Stock y reposición-1 es ilimitado. El stock lo comparten todos los servidores que comparten la tienda y se rellena hasta el máximo en cada periodo de reposición.
Límite de compra, límite de venta, periodoUnidades que cada jugador puede comprar y vender por periodo. El periodo empieza con la primera operación del jugador en él.
PermisoUn nodo para comprarlo o venderlo. Los administradores de la tienda siempre pasan.
DescuentoUn porcentaje sobre el precio de compra, durante el tiempo que elijas.
EntregaSolo productos de comando: el server-id en el que se ejecutan sus comandos. Comprado en cualquier otro, esperan a que el jugador entre en ese servidor. En blanco se ejecutan donde esté el comprador.
Activado, página, posiciónSi los jugadores lo ven, y dónde.

Cómo se mueven los precios

PrecioCómo
FijoSiempre el precio fijado.
Por demandaCada unidad comprada suma demand.step-percent del precio base y cada unidad vendida lo resta, entre floor-percent y ceiling-percent del base. Sin nadie operando vuelve poco a poco decay-percent-per-hour puntos por hora. Un lote se valora unidad a unidad.
AleatorioUn nuevo sorteo cada random.reset-hours, hasta spread-percent del base. El mismo en todos los servidores.

Los sorteos y las rotaciones siguen UTC: un sorteo de 6 horas cambia a las 00, 06, 12 y 18 UTC.

A qué se sujeta el precio de venta

  • Los descuentos se aplican solo al precio de compra. El descuento de un producto y el de su tienda no se suman: gana el mayor.
  • El bonus de venta (exyliamarket.shop.sell.<multiplicador>) y los boosters shop-sell aumentan lo que paga vender. Ver Venta.
  • Vender nunca paga tanto como cuesta ahora mismo volver a comprar las mismas unidades, ni tanto como fabricar el objeto con cosas que vende la tienda. El precio se mantiene un paso por debajo de ambos, así que no se puede farmear la tienda.

Tiendas

Una tienda está en la portada o dentro de otra tienda, hasta seis niveles de profundidad.

CampoQué hace
IDEn minúsculas, fijo una vez creado. Lo que recibe /shop <id>.
Nombre, descripción, iconoCómo se dibuja su botón.
PáginasDe 1 a 10, cada una con 45 ranuras para sus productos y las tiendas que contiene.
Dentro deLa tienda en la que se dibuja, junto a los productos de esa tienda, o la portada. Una tienda no puede ir dentro de sí misma ni de nada que contenga.
PosiciónSu ranura en la pantalla donde se dibuja: en la portada, uno de 21 sitios en tres filas de siete; dentro de una tienda, una página y una ranura de su cuadrícula.
ComandosComandos que la abren directamente, escritos como blocks, b: letras, dígitos, - y _, hasta 32 cada uno. Un nombre que ya tiene otra tienda se rechaza. Se instalan al momento en cada servidor que ofrece la tienda, y necesitan exyliamarket.shop.
ServidoresLos server-id que la ofrecen; en blanco es todos los servidores. Clic derecho en el botón para solo este servidor, o de nuevo todos. Las tiendas de dentro la siguen.
PermisoUn nodo para abrirla a ella y a todas las tiendas que contiene. En blanco es para todos.
MonedaLa moneda de los productos creados después en ella. Una tienda creada dentro de otra empieza con la moneda de esa.
DescuentoSobre el precio de compra de todos sus productos, durante el tiempo que elijas.
CelebrarLas compras aquí, y en todas las tiendas que contiene, se celebran en toda la red. Ver Celebraciones.
RotaciónMuestra solo unos pocos de sus productos a la vez — rotation size de ellos, sorteados de nuevo en cada periodo. Las tiendas de dentro van primero.
ActivadaSi los jugadores la ven. Una tienda desactivada oculta también todas las que contiene.
21 sitios en la portada

La portada tiene 21 sitios. Mete más tiendas dentro de otras en lugar de en la portada: una tienda más allá del sitio 21 ahí no se dibuja, ni en /shop ni en el editor.

El editor

/shopadmin abre la portada exactamente donde la dibuja /shop.

  • Haz clic en una tienda para editarla; con shift-clic la coges, y el siguiente clic la suelta en un sitio vacío, la intercambia con otra o la devuelve a su sitio.
  • La fila de abajo: Crear pide un ID; Cargar tienda por defecto (el clic izquierdo añade lo que falta, el derecho lo reemplaza todo, ver abajo); Cupones; Rebaja, un descuento en todas las tiendas a la vez; Volver a /marketadmin.

La pantalla de una tienda tiene Estado, General (nombre, descripción, icono, páginas), Ubicación (dentro de, posición, comandos, servidores), Ventas (moneda, descuento y su duración, permiso, celebrar), Rotación, Productos, Vista del jugador, Volver (a la tienda de arriba) y Eliminar tienda, que la borra junto con todos sus productos tras una confirmación; las tiendas que contiene suben un nivel.

En la cuadrícula de una tienda, sostener un objeto en el cursor y hacer clic en una ranura vacía crea un producto a partir de él, con ambos precios desactivados. La fila de abajo crea también una nueva tienda dentro de esta y un producto de comando. Haz clic en un producto o en una tienda interior para editarlo, shift-clic para moverlo; las flechas de página lo llevan a otra página. La pantalla de un producto tiene Activado, General (objeto, nombre, descripción, posición), Precios (compra, venta, moneda, tipo de precio, descuento), Stock (fijarlo lo rellena), Límites (compra, venta, periodo, permiso), Comandos, Entrega para un producto de comando, y Borrar.

Bajar las páginas de una tienda cuando hay algo en las páginas que desaparecen pregunta primero y después lo mueve a las ranuras libres de las páginas que quedan. Solo se rechaza cuando ya no cabe todo.

Cupones y rebajas

Los cupones se listan y se editan desde el botón Cupones del editor o con /shopadmin coupon list: el descuento, los usos, la caducidad, la tienda en la que sirve (y todas las que contiene), si cada jugador puede usarlo una vez, y Borrar cupón. Cada uso se cuenta sobre la fila guardada, así que un código con 50 usos se gasta 50 veces entre todos los servidores, nunca 51.

ComandoQué hace
/shopadmin coupon create <código> <porcentaje> [usos] [duración] [tienda]Un cupón nuevo: de 3 a 32 letras, dígitos, - o _, guardado en mayúsculas; de 1 a 100 por ciento de descuento. usos -1 (por defecto) es sin tope; duración como 7d o 12h, 0 (por defecto) no caduca nunca; sin tienda es para todas. Se crea de un uso por jugador.
/shopadmin coupon delete <código>Lo borra.
/shopadmin coupon listLa pantalla de cupones en el juego; una línea por cupón desde la consola.
/shopadmin sale <tienda|all> <porcentaje> <duración> [empieza-en]Un descuento en una tienda o en todas, durante duración, desde ahora o pasado empieza-en: /shopadmin sale all 25 2d 1h es un 25% durante dos días a partir de dentro de una hora. 0 por ciento lo termina.

El botón Rebaja del editor y el Descuento de una tienda piden un porcentaje y después cuánto dura (al menos un minuto); 0 por ciento lo termina.

Celebraciones

Una compra en una tienda marcada con Celebrar, o dentro de una, se anuncia en todos los servidores. Durante celebration.seconds quien escriba una de las celebration.words como mensaje de chat completo gana celebration.rewards una vez, y su palabra sale con colores de arcoíris. Otra compra celebrada mientras tanto alarga la ventana sin premiar a nadie dos veces. Los anuncios llegan a los demás servidores por Redis; sin él, solo celebra el servidor del comprador. Las palabras que leen los jugadores están en messages.yml.

El catálogo por defecto

En una tienda sin tiendas ni productos, y con example-catalogue activado, el plugin escribe su tienda por defecto: 20 tiendas y 402 productos. Cuando el servidor tiene una moneda distinta de la por defecto, se añade una Premium Store con precio en ella, con Ranks y Temporary Ranks dentro: 23 tiendas y 415 productos. Los materiales que la versión del servidor no conoce se omiten.

PortadaDentroNotas
Building (/blocks)blocks, wood, colours, nether, endLas materias primas se venden por su valor y se compran por el triple.
Ores & Minerals—
Farming & Food (/farming)farming, foodLos cultivos tienen precio por demanda.
Mob Drops—
Gear & Utilitiesarmoury, redstone, brewing, miscellaneousEl equipo fabricado es solo de compra.
Daily Deals (/deals)—Rota 7 de 16 lotes al por mayor al día, un 20% de descuento durante 365 días desde la instalación.
Enchanter—Rota 6 de 17 libros cada 12 horas, con precio aleatorio.
Black Market—Stock pequeño, temporizadores de reposición y límites por jugador.
Perks—Cuatro productos de comando tras exyliamarket.shop.perks.
Premium Store (/store)Ranks (/ranks), y Temporary Ranks dentro de ellaCelebrada. Los rangos ejecutan comandos lp user de LuckPerms y se escriben desactivados: crea los grupos vip, vipplus y mvp y después activa la tienda.
ComandoQué hace
/shopadmin defaults addAñade lo que falte de la tienda por defecto y de la lista de valores. Nunca cambia una fila existente.
/shopadmin defaults replaceHace una copia de seguridad de la tienda y de worth.yml en backups/shop-<date>/ y después reemplaza ambos por los valores por defecto. A un jugador se le pide confirmación; a la consola no. Si la copia de seguridad falla, no cambia nada.
/shopadmin log <jugador> [filas]Lo que un jugador compró y vendió, lo más reciente primero. En el juego, con exyliamarket.admin.logs, abre el registro del mercado de ese jugador; si no, líneas de chat, 10 filas por defecto y 50 como máximo.

Una red

El módulo de tienda lo comparten por defecto todos los servidores de la base de datos (network.modules.shop: global en config.yml, ver Configuración); después el campo Servidores de cada tienda elige dónde se ofrece. Cada servidor mantiene el catálogo en memoria. Con Redis activado, una edición hecha en un servidor llega a los demás al instante; sin Redis, los demás servidores solo ven una edición tras su siguiente reinicio. El stock es seguro en ambos casos: una compra solo se completa cuando la base de datos ha aceptado el cambio. Los límites de cada jugador se leen al conectarse y se combinan con lo que escribió el servidor del que viene.

Un producto de comando con servidor de Entrega, o un regalo cuyo destinatario está en otro sitio, ejecuta sus comandos cuando el jugador está en el servidor correcto: comprado en el hub, un rango de survival se da en survival.

Ajustes

modules/shop/config.yml. El catálogo no está aquí.

ClavePor defectoQué hace
settings.hide-locked-categoriestrueOcultar una tienda para la que el jugador no tiene permiso de la pantalla donde se dibuja, o dibujarla bloqueada.
settings.shift-click-amount1Unidades que compra o vende un shift-clic.
settings.max-amount2304Máximo de unidades que compra de una vez la pantalla de cantidad o un shift-clic.
settings.example-cataloguetrueLlenar una tienda vacía con el catálogo por defecto.
demand.step-percent1.0Porcentaje del base que mueve el precio una unidad.
demand.floor-percent50.0Lo más bajo que puede llegar el precio, como porcentaje del base.
demand.ceiling-percent200.0Lo más alto que puede llegar.
demand.decay-percent-per-hour5.0Puntos que recupera por hora sin nadie operando.
random.spread-percent25.0Cuánto puede alejarse un sorteo del base.
random.reset-hours6Cuánto dura un sorteo.
sounds.bought, sounds.sold, sounds.failedNAME|volume|pitch.
celebration.enabledtrueApaga las celebraciones en todas partes, digan lo que digan las tiendas.
celebration.seconds15Cuánto tiempo tienen los jugadores para unirse.
celebration.words[gg, ggs, gg!]Lo que cuenta como unirse: el mensaje de chat completo, sin importar mayúsculas.
celebration.rewards[console: minecraft:xp add %player_name% 50 points]Líneas de comando que se dan a cada jugador que se une, una vez por celebración, con console: o player: delante. %player_name% es el jugador, %buyer% el comprador.

Problemas conocidos

El stock limitado se repone demasiado a menudo

Un producto cuyo stock está lleno cuando le toca la reposición se omite sin que se mueva su siguiente reposición. A partir de ahí cualquier compra se repone en menos de un minuto, así que los objetos raros con poco stock — los del mercado negro por defecto — solo los frena el límite de cada jugador.

  • La portada muestra como número de productos de una tienda rotativa todo su conjunto, no el tamaño de la rotación.
  • El chat cuenta objetos (unidades × el stack del producto), /shopadmin log en la consola cuenta unidades.
  • Dos administradores editando la misma tienda a la vez: el último en guardar gana la fila entera.
  • /shopadmin defaults replace conserva los contadores de límites de los jugadores: los productos por defecto vuelven a tener los mismos IDs.
  • Una tienda cuyo ID es cart o history no se puede abrir con /shop <id>: son subcomandos. Dale un comando propio en su lugar.
  • El pago del carrito rechaza una línea que no cabe en lugar de ofrecer /collect como hace una compra suelta.

¿Falta algo en esta página? Dínoslo en Discord