
DynamicSkins
Server-synchronized custom player skins with high-resolution 64-4096px + open/close mouth.
Оцените первым
234
3
Список изменений
DynamicSkins 1.1.5
Added
- Added an instance-local skin library.
- Saved skins are stored inside the active launcher profile:
dynamicskins/library/<skin-name>/ - Added separate
skin_normal.pngandskin_mouth.pngstates. - Added support for Default/Steve and Slim/Alex models.
- Added library search, thumbnails, scrolling, rename, and delete controls.
- Added instant skin switching in singleplayer without rejoining the world.
- Added server upload acknowledgements and clearer status messages.
Security
- Removed persistent client-side skin caching.
- Remote player skins are no longer written to the client's disk.
- Removed the packet that allowed clients to request arbitrary player UUIDs.
- The server now pushes skins only for the local player and currently tracked players.
- Remote textures are removed from memory when a player is no longer tracked.
- Temporary transfer data and textures are cleared on disconnect.
- Legacy
dynamicskins/cachefolders are removed automatically without affecting the local skin library. - Added strict packet size, chunk count, index, duplicate, timeout, and upload rate validation.
- Added real PNG decoding and dimension validation on both client and server.
- Added path traversal and symbolic-link protection for the local library.
- Added atomic file writes and rollback protection for server-side skin storage.
Changed
- The server remains the authoritative storage location for active player skins.
- Multiplayer skins are synchronized only with players who need to render them.
- Client-side remote skin handling is now memory-only.
- Client and server must both use DynamicSkins 1.1.5 because the network protocol has changed.
Fixed
- Fixed skin changes not appearing immediately in singleplayer.
- Fixed packet and join handlers being registered multiple times after switching worlds.
- Fixed incomplete or reordered chunks being accepted.
- Fixed corrupted or mismatched Normal/Mouth textures being loaded.
- Fixed a server crash during the first skin save caused by a missing backup path.
- Fixed stale textures remaining after players left tracking range.
Storage Format
Local saved skins:
dynamicskins/library/<skin-name>/
├── skin_normal.png
├── skin_mouth.png
└── skin.json
Server-side active skins remain compatible with the existing format:
dynamicskins/<player-uuid>/
├── idle.png
├── talk.png
└── meta.json
Notes
- Install this version on both the server and every participating client.
- The local library is isolated per launcher instance or profile.
- Plasmo Voice remains optional and is used for automatic Normal/Mouth switching.
Файлы
DynamicSkins+mc1.20.1-1.1.5.jar(115.38 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.1.5
Загрузчики
Fabric
Версии игры
1.20.1
Загрузок
74
Дата публикации
29.07.2026
