EndyDev Read the docs

Configuration

Everything lives in plugins/zNetSell/. After editing, run /netsell reload: this server reads config.yml, the messages and the prices again, and in network mode every other server re-reads the prices and the booster. Database and Redis settings only change on a restart.

config.yml

OptionDefaultWhat it does
server-idserverThis server’s name in the sales history (/sell history shows it). Give each server its own.
languageenWhich file in lang/ the messages come from: en, es, or one of your own. See Messages.
database.typesqlitesqlite, mysql, mariadb, postgresql or mongodb. SQLite needs nothing set up; the others are for network mode.
database.filenetsell.dbSQLite only: the file, inside plugins/zNetSell/.
database.host, port, name, user, passwordlocalhost, 0, netsellThe database server. Port 0 means the usual one: 3306, 5432 or 27017.
database.paramsemptyMySQL, MariaDB and PostgreSQL: extra JDBC options, e.g. useSSL=false&allowPublicKeyRetrieval=true.
database.pool-size10Connections kept open to the database.
database.uriemptyMongoDB only: a full connection string (mongodb+srv://... for Atlas). Replaces host, port, user and password.
database.table-prefixns_Start of every table name. Letters, digits and _. Lets several networks share one database.
redis.enabledfalseNetwork mode on or off.
redis.host, port, user, password, database, ssllocalhost, 6379The Redis server. Leave user empty unless your Redis uses ACL users.
redis.prefixns:Start of every Redis key and of the event channel. Servers with the same prefix form one network.
limits.time-zoneemptyDaily limits reset at midnight in this zone, e.g. UTC, Europe/Madrid, America/New_York. Empty = the server’s own zone. Use the same on every server of a network.
boosters.stackmultiplyHow a global booster combines with a rank multiplier: multiply (x1.5 and x2 = x3) or add (x1.5 and x2 = x2.5).
sellwand.materialBLAZE_RODThe item new sellwands are made of. Wands already given keep theirs.
sellwand.glowtrueWhether sellwands glow like enchanted items.

Sell multipliers by rank are permissions, not options: see Permissions.

Messages

Messages are in plugins/zNetSell/lang/: en.yml (English) and es.yml (Spanish) are created on the first start. Pick one with language: es in config.yml, then /netsell reload.

  • Edit the file of the language you use. Colours and formatting use MiniMessage: <green>, <bold>, <#ff8800>, <gradient:gold:yellow>…
  • Words in angle brackets that aren’t formatting, like <amount> or <total>, are filled in by zNetSell. Keep them; you can move them around. <prefix> is the prefix message.
  • A message you delete comes back from the copy inside the jar, and so do messages added by a new version.
  • Item names (<item>) are shown in each player’s own game language, whatever language says.
  • Words players type stay in English in every language: hand, none, cancel, unlimited, and the subcommands.

Another language

Copy en.yml to, say, lang/fr.yml, translate it, and set language: fr. Anything you don’t translate shows in English.

Prices

Prices are not in a file: they’re in the database, so they’re the same on every server of a network and survive reinstalls. Set them with /netsell editor, /netsell setprice, or /netsell import. Prices have up to 4 decimals; a sale pays price × amount × multiplier, rounded down to the cent.