Skip to content

PalDefender v1.8.0

Choose a tag to compare

@Zvendson Zvendson released this 10 Jul 17:58

CHANGELOG

Fixed

  • Updated SDK to 1.0.0!
  • Improved the PalDefender startup procedure.
  • Reduced startup logging so the server console is less noisy.

Core / Server

  • Fixed death logs when the attacking player is mounted.
  • Fixed damage logging on spawned pals.
  • Fixed a PalDefender startup issue that could fail with: A dynamic link library (DLL) initialization routine failed. (Win32 1114)
  • Fixed a nickname issue that could fail with an invalid handle for new players.
  • Fixed a false cheater flag caused by a typo: XXX may be a cheater! Reason: AddVisualEffect_ToServer

Commands / Admin Tools

  • Fixed /give_exp when the target player is riding a pal.
  • Fixed /delitem counting and deletion across player inventory containers.
    • Amount=0 now reports the correct total.
    • Actual deletions now report the correct deleted amount.

New

Core / General

  • Added godmode prevention for cases where players with godmode try to kill other players who also have godmode enabled. (This feature is currently untested.)
  • The ban system now uses a dedicated Banlist.json. (The original Palworld banlist is still checked first.)
  • Added /version command. (RCON responses in JSON.)
    • Returns the current game version.
    • Returns the current PalDefender version.

PalTemplate

  • Added PhysicalHealth field
  • Added WorkerSick field
  • Added ImportedCharacter field

Global Pal Import Protection

  • Added more logging messages for Global Pal Imports.
  • Added anti-cheat detection for Global Pal Imports.
  • Global Pal Import protection is now a dedicated ImportRules system. This allows server owners to customize import rules for individual Pals.

ImportRules System

  • Block impossible or cheated imported Pals.
  • Block imports that exceed your server limits.
  • Block specific Pal IDs.
  • Allow or deny genderless imports.
  • Punish impossible imports if configured.
  • Be fully disabled.
  • Added automatic generation of default import rule files:
    • \PalDefender\Pals\ImportRules\Default.json
    • \PalDefender\Pals\ImportRules\ExampleOverride.json
  • Added per-PalID override rules by filename, for example:
    • \PalDefender\Pals\ImportRules\Anubis.json

RESTAPI Permissions

  • Added permission lists for RESTAPI bearer tokens.
    • Server owners can now create limited tokens instead of giving every external tool full RESTAPI access.
  • Added token names for RESTAPI bearer tokens.
    • Logs can now show which token was used.
    • Denied permission messages can now show which token was denied.

RESTAPI Endpoints

  • See here for a better overview!
  • GET /v1/pdapi/players (supports offline player)
  • GET /v1/pdapi/player/<Player> (supports offline player)
  • GET /v1/pdapi/pals/<Player>
  • GET /v1/pdapi/items/<Player>
  • GET /v1/pdapi/techs/<Player>
  • GET /v1/pdapi/progression/<Player>
  • POST /v1/pdapi/give/items/<Player>
  • POST /v1/pdapi/give/pals/<Player>
  • POST /v1/pdapi/give/paltemplate/<Player>
  • POST /v1/pdapi/give/paleggs/<Player>
  • POST /v1/pdapi/give/progression/<Player>
  • POST /v1/pdapi/deletebase/<BaseGUID>
  • POST /v1/pdapi/SendPlayerMessage
  • POST /v1/pdapi/Broadcast
  • POST /v1/pdapi/Alert
  • POST /v1/pdapi/ReloadConfig
  • POST /v1/pdapi/learntech/<Player>
  • POST /v1/pdapi/forgettech/<Player>
  • GET /v1/pdapi/banlist
  • POST /v1/pdapi/ban/<Player>
  • POST /v1/pdapi/unban/<Player>
  • POST /v1/pdapi/kick/<Player>
  • POST /v1/pdapi/banip/<IP>
  • POST /v1/pdapi/unbanip/<IP>

Changed

Core / General

  • The log message "{} connected to the server." is now only shown when logPlayerLogins is set to true in the config.

Commands / Admin Tools

  • Added working LastOnline to guild export.
  • /giveitem, /giveitems and /givemeitem now validate amounts and inventory/equipment capacity before granting items.
  • /giveitem, /giveitems and /givemeitem now return clearer errors when an item cannot be granted.
  • /deletepal now supports PalSouls as a filter.
  • /getnearestbase now returns more detailed information about the nearest base.
  • /send guild now accepts standard guild GUID input and returns a clearer error when the guild GUID is invalid.
  • /jetragon now grants the missing JetDragon unlock item automatically.
  • /jetragon and /catwaifu now mark the spawned pals as imported pals, so they cannot be exported anymore.

Base Deletion

  • /killnearestbase now tries to fully delete the camp without dropping items (Guild Chest unaffected). After deletion it writes a timestamped JSON archive. In case you need to prove what got deleted or want to restore a part of it. (Needs manual checkup)
    • Base deletion is still WIP. Please make backups before using it on anything important.

RESTAPI

  • RESTAPI responses are more consistent.
  • RESTAPI validation errors and failed-action errors now return clearer JSON responses.
  • RESTAPI console logging can now be enabled from RESTConfig.json.
  • RESTAPI config version handling was cleaned up. (Older RESTAPI config files should be updated automatically when loaded.)
  • The old RESTAPI-give route was split into dedicated give endpoints:
    • POST /v1/pdapi/give/items/<Player>
    • POST /v1/pdapi/give/pals/<Player>
    • POST /v1/pdapi/give/paltemplate/<Player>
    • POST /v1/pdapi/give/paleggs/<Player>
    • POST /v1/pdapi/give/progression/<Player>
    • Now also validates amounts and inventory/equipment capacity before granting items and pals.
  • GET /v1/pdapi/version now includes a beta field in the JSON response.

Ban System

  • Ban settings were moved out of the main config.
  • The original Palworld banlist is still checked first.
  • /ban, /unban, /banip, /unbanip and /kick now use the new banlist backend.

Support me:

  • On Ko-Fi
  • Get a Gaming Server: Qonzer
    • 10% Discount code: PalDefender. See Discord for more information.
    • The code is required to assign the affiliate to me!
  • On PayPal