Skip to content

Releases: Ultimeit/PalDefender

PalDefender v1.8.1

Choose a tag to compare

@Zvendson Zvendson released this 10 Jul 23:53

CHANGELOG

Fixed

  • Fixed raid boss names in summon and raid arena logs.
  • Fixed legit portals to trigger the Anti Cheat detection. Im sorry!

Changed

  • Improved protection against teleport exploits.
  • Bundled Visual C++ Redistributable withing the dll to reduce dependencies.

New

  • Added logs for raid boss arena entries.
  • Added Surgeon exploit protection.
  • Added Crafting exploit protection.

Hotfix 2026/07/11

  • Fixed a bug where people got stuck in BossArenas and other bugs related to RequestSyncTeleportStart_ToServer to unknown location

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

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

PalDefender v1.8.0 Beta #5

Pre-release

Choose a tag to compare

@Zvendson Zvendson released this 26 Jun 00:51

I sacrificed my sleep for you, for the many who contacted me about the login problem. I am really sorry about that. It should all work now.

CHANGELOG

Fixed

  • Fixed an issue where players could get stuck at 90% on the loading screen. Sorry about that.
  • Fixed several typos and cleaned up some internal code.

Changed

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

New

  • Added godmode prevention for cases where players with godmode try to kill other players who also have godmode enabled. (This feature is currently untested.)

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

PalDefender v1.8.0 Beta #4

Pre-release

Choose a tag to compare

@Zvendson Zvendson released this 23 Jun 02:15

A lot of work went into this release: Global Pal Import protection, the new ImportRules system, expanded RESTAPI support, permission-based bearer REST-Tokens, improved admin tools, cleaner JSON responses, base deletion cleanup, punishment management, and several stability fixes.

Please keep backups before testing beta admin features on important live servers.

CHANGELOG

Fixed

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.

Changed

Core / Startup

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

Commands / Admin Tools

  • /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 ban system now uses a dedicated Banlist.json.
  • The original Palworld banlist is still checked first.
  • /ban, /unban, /banip, /unbanip and /kick now use the new banlist backend.

New

Core / General

  • Added working LastOnline to guild export.
  • 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>

Afterword

This was a lot of work that went into this release. I do this in my free time. I really try to push it a bit more to prepare your servers for 1.0 and make the player experience more joyful! Thank you for using PalDefender.

~ スベンド (Svend)

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

PalDefender v1.7.2

Choose a tag to compare

@Zvendson Zvendson released this 25 Jan 23:05

CHANGELOG

New

  • AdminWhiteList protection is now applied only to PalDefender and PalWorld built-in commands.
    Third-party mod commands are no longer affected by the whitelist when enabled.

    (This means your mods that add commands like /tpa will now work - hopefully.)

Fix

  • Fixed logging configuration for pal captures
  • Fixed verification of corrupted ItemIDs on command usage when PalSchema is installed (#95 )

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

Qonzer customer can just simply single click update PalDefender in the ModManager!

image

PalDefender v1.7.1

Choose a tag to compare

@Zvendson Zvendson released this 21 Jan 13:25

CHANGELOG

Fix

  • Updated SDK to 0.7.1
  • Fixed non appearing pal names in death logs.
  • Fixed a bug where logs showed invalid UIds.
  • Improved some log formats such as Coordinates.
  • Updated Wiki

New

  • Added new MOTD variables:
    • {AllowGlobalPalboxExport} -> "Enabled" / "Disabled"
    • {AllowGlobalPalboxImport} -> "Enabled" / "Disabled"
    • {IsPvP} -> "Enabled" / "Disabled"
    • {IsHardcore} -> "Enabled" / "Disabled"
    • {FriendlyFire} -> "Enabled" / "Disabled"
    • {DayTimeSpeedRate} -> Float number
    • {NightTimeSpeedRate} -> Float number
    • {ExpRate} -> Float number
    • {PalCaptureRate} -> Float number
    • {PalSpawnNumRate} -> Float number
    • {PalEggDefaultHatchingTime} -> Float number
    • {EnemyDropItemRate} -> Float number
    • {PalStomachDecreaceRate} -> Float number
    • {PalStaminaDecreaceRate} -> Float number
    • {BaseCampMaxNumInGuild} -> Int number
    • {SupplyDropSpan} -> Int number
    • {MaxBuildingLimitNum} -> Int number
  • Added new config entry adminCheats. It lets you specify which command is considered as an admin cheat, so if admin cheats are not allowed, they cannot be executed by your admins. RCON can still execute those.
  • RESTAPI no longer logs into the console (stdout) - instead only logs to a file now.
  • Added new logs for:
    • Player captures pal (E.g. <player> has captured Pal '<pal>' (<pal_id>) at <x> <y> <z>.)
    • Player cancels build (E.g. <player> has cancelled building a '<building>' at <x> <y> <z>.)
    • Player dismantled build (E.g. <player> dismantled '<building>' at <x> <y> <z>.)
  • Added new config entry logPlayerCaptures. Enables or disables the player has captured '<pal>' logs.

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

Qonzer customer can just simply single click update PalDefender in the ModManager!

image

PalDefender v1.7.0

Choose a tag to compare

@Zvendson Zvendson released this 17 Dec 10:51

Long time no see! Here is the new version! Thank you for Kai (who constantly keeps donating and supporting to me) and the people who rents server on Qonzer. ❤️
I am going to Italy soon and i will propose to my girlfriend. I hope everyone is having a good christmas time. Merry christmas to everyone!

CHANGELOG

Fix

  • Updated SDK to 0.6.9.
  • Fixed d3d9.dll to work on older machines like Winserver 2016.
  • Total Rework of the SDK to improve quality and maintainability.
  • Fixed a ton of crashes.
  • Added more pattern variations to be (hopefully!) more bulletproof upon updates.
  • Log message {} have dealt {} damage to {} object of other guild ('{}') has been removed entirely.
  • Duplicated join and leave message have been resolved. (Admins can now login without being announced again.)
  • Death announcement bug 'Zvendson' was attacked by 'Zvendson' and died. has been fixed to show the correct names. Additionally the death announcements show the pal/npc names instead of their IDs.
  • Added Moonlord bosses to summon log.

New

  • Updated SDK to 0.7.0.
  • Fixed command /ban which has been broken since internal SDK overhaul. (lol!)

New

  • Improved GUID parsing in commands, which allows executing commands by PlayerUId.
  • RESTAPI supports binding addresses in the config. (For my fellow host companies ❤️)
  • RESTAPI endpoint /v1/pdapi/give now verifies the data first and only gives stuff out when no error occured.
  • Added None Gender support to /deletepals filter.
    • Example: /deletepals steam_76561196666666666 ID Anubis Gender None will now delete all Anubis pals that are not Female or Male.
  • Added new death message for the new death type sucide. (not my mispell!)

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

Qonzer customer can just simply single click update PalDefender in the ModManager!

image

PalDefender v1.6.6

Choose a tag to compare

@Zvendson Zvendson released this 01 Nov 00:26

I am sorry for posting the new Release a little late. I was in Japan the past 3.5 weeks and before and after my vacation I have been heavily working on our SDK (backend) to make things more easier and better to code for PalDefender.

If people are looking forward for a better RESTAPI with more feature, then please help me document the RESTAPI inside the PalDefender Wiki.
Let me also know which endpoints you really want to have.

CHANGELOG

Fix

  • Updated SDK to 0.6.9.
  • Fixed d3d9.dll to work on older machines like Winserver 2016.
  • Total Rework of the SDK to improve quality and maintainability.
  • Fixed a ton of crashes.
  • Added more pattern variations to be (hopefully!) more bulletproof upon updates.
  • Log message {} have dealt {} damage to {} object of other guild ('{}') has been removed entirely.
  • Duplicated join and leave message have been resolved. (Admins can now login without being announced again.)
  • Death announcement bug 'Zvendson' was attacked by 'Zvendson' and died. has been fixed to show the correct names. Additionally the death announcements show the pal/npc names instead of their IDs.
  • Added Moonlord bosses to summon log.

New

  • Added config entry logCraftings to turn off craft message logs. Affected logs:

    • {} started crafting '{}' at x y z.
    • {} Tried to craft '{}' but it is a banned technology.
  • Added config entry logTechUnlocks to turn of technology unlock message logs. ({} unlocking Technology: '{}')

  • Added config entry bannedTechnologies to ban unlocking specific technologies globally.

  • Added a new RESTAPI Work In Progress!. (I will apply some resources to see how to utilize it and what endpoints are available but I will not be able to give full support on this, due my trip - please ask @dkoz or the community for more infos.)

    • available Endpoints:
    • GET /v1/pdapi/version
    • GET /v1/pdapi/guilds
    • GET /v1/pdapi/guild/<string> (Input Guild GUID, format 00000000-00000000-00000000-00000000)
    • POST /v1/pdapi/give (output not finalized / unfinished, but working)

    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

Qonzer customer can just simply single click update PalDefender in the ModManager!

image

PalDefender v1.5.2

Choose a tag to compare

@Zvendson Zvendson released this 19 Sep 23:46
28f95cd

CHANGELOG

New

  • Removed version.dll and added d3d9.dll. Now PalDefender only ships with one zip file. This means that both proton/wine and windows setup are identical now.
  • d3d9.dll generates a new config file d3d9_config.json that allows you to add more dlls to load on startup, they are loaded in order from top to bottom:
    {
        "load_dlls": [
            "PalDefender.dll"
        ]
    }

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

Qonzer customer can just simply single click update PalDefender in the ModManager!

image

PalDefender v1.5.1

Choose a tag to compare

@Zvendson Zvendson released this 31 Jul 09:01
aef9fac

Wiki has been updated, thanks to victortelles !!!

CHANGELOG

New

  • Added Config entry RCONTimeout(float, Default = 31.0). Lets you declare the timeout to drop a RCON connection. 31.0 is Palworlds default value.
  • Added Config entry RCONUsePacketIdFix (bool, Default = true). Fixes packet IDs of pocketpairs bad implemented packet handling.

Fix

  • Fixed a bug where some RCON clients kept hanging in the void.

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

Qonzer customer can just simply single click update PalDefender in the ModManager!

image