Skip to content

RussDev7/7D2DProfileEditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

7 Days to Die TTP Profile Editor

A small PHP web editor for inspecting and modifying supported fields in a 7 Days to Die player profile (.ttp).

Tested against the supplied v2.2/v2.3-style player profile. Always keep untouched copies of both the .ttp and .ttp.bak files before editing.

Features

  • English and Japanese interface
  • Player name and EOS ID display
  • Health, stamina, food, and water editing
  • Death-state detection and Resurrect Player option
  • Human-readable progression editing:
    • Player level
    • Raw saved experience
    • Unspent skill points
    • Attributes
    • Skill/book groups
    • Crafting magazine levels
    • Perks and skill-book entries
  • Searchable progression table
  • Quest/POI discovery and experimental removal controls
  • Downloads a new edited .ttp; the uploaded source file is not overwritten

Why the old Status Candidates values were wrong

The previous parser searched for names such as attperception, perkdeadeye, and skillpoint, then interpreted the four bytes immediately before each match as a 32-bit integer.

Those bytes are not the progression value:

  • Before normal progression names they contain record metadata and the encoded string length.
  • The skillpoint match can occur inside another word such as spendskillpoint; in that case the preceding bytes can simply be ASCII text. For example, hex 70 65 6E 64 is the text pend, not a skill-point count.

The updated parser reads the embedded progressionData block structurally. In the tested format, each record is:

entry version
.NET 7-bit encoded name length
entry name
1-byte editable level/value
4-byte auxiliary game-owned value

Only the one-byte level/value is exposed for editing. The four auxiliary bytes are displayed for diagnostics but are preserved unchanged.

Restoring a reset level

The editor exposes the progression header directly. To approximate restoration of a former level 40 character:

  1. Set Player Level to 40.
  2. Set Unspent Skill Points to the number you want restored.
    • 39 is a reasonable starting point only when the world awarded one point for each level after level 1 and you want all those points unspent.
    • Mods and world configuration may use a different points-per-level rule.
  3. Either spend those points in-game or manually restore known attribute/perk levels in the progression table.
  4. Treat Raw Saved Experience separately. The exact correct XP value cannot be reconstructed from a reset file unless you have a pre-reset backup or know the intended XP value.

Setting the level and granting points does not recreate the exact former perk allocation, book progress, quests, or inventory when those values were already erased from the source save.

Running locally

Requirements:

  • PHP 8.0 or newer recommended
  • A modern browser

Windows quick start

  1. Download PHP for Windows from the official site: PHP for Windows downloads.

  2. Download a current x64 ZIP build and extract it to a folder such as C:\php.

  3. Add the extracted PHP folder to your Windows PATH environment variable.

  4. Open Command Prompt and verify PHP is available:

    php -v
  5. Download or clone this repository, then double-click:

    StartServer.bat
    
  6. Keep the command window open while using the editor. Your browser should open automatically at:

    http://localhost:8000/index.php
    

If Windows reports that php is not recognized, PHP has not been added to PATH correctly. You can also start the server manually from the project folder:

php -S localhost:8000

Then open http://localhost:8000/ in your browser.

Project layout

index.php       Upload screen
upload.php      Analysis and editor screen
save.php        Validates and writes submitted edits
TtpParser.php   Binary structure detection and parsing
lang.php        Language/session helper
lang/en.php     English strings
lang/ja.php     Japanese strings
StartServer.bat Windows development-server launcher

Safety notes

  • Stop the game or dedicated server before replacing a player file.
  • Never test with your only copy.
  • Keep the file size unchanged; this editor performs in-place fixed-width writes.
  • The progression parser validates the block structure and record names before writing.
  • Quest/POI removal remains experimental because those entries are not yet parsed as fully documented records.

日本語

このツールは、7 Days to Die のプレイヤープロフィール (.ttp) をブラウザで解析・編集する PHP ツールです。

主な対応項目:

  • 英語・日本語切り替え
  • 体力、スタミナ、食料、水分の編集
  • 死亡状態の検出とプレイヤー復活
  • プレイヤーレベル、保存されている経験値、未使用スキルポイントの編集
  • 属性、スキル、クラフト、パーク、スキル本進行度の実値編集

以前の「Status candidates」は、キーワード直前の4バイトを値として表示していたため、文字列長やレコード情報を誤って数値化していました。更新版では progressionData を構造的に解析し、名前直後の1バイトだけを実際の編集可能値として扱います。

レベル40をおおよそ復元する場合は、レベルを 40 に設定し、通常設定でレベル1以降に1ポイントずつ付与されていたなら、未使用ポイント 39 を開始値として利用できます。ただし、MODやワールド設定によって付与数は異なります。また、消失済みのパーク配分、クエスト、所持品を自動的に復元することはできません。

Windowsでの起動方法

  1. 公式サイトからPHPをダウンロードします: PHP for Windows downloads
  2. x64 ZIP版を展開し、PHPのフォルダーをWindowsの PATH に追加します。
  3. コマンドプロンプトで php -v を実行し、PHPが認識されることを確認します。
  4. プロジェクト内の StartServer.bat をダブルクリックします。
  5. ブラウザで http://localhost:8000/index.php を開きます。

Acknowledgments

This project was originally based on kani-momonga/7DaysProfileEditorPHP, which provided the initial PHP-based .ttp parsing implementation.

That project was itself derived from Karlovsky120/7DaysProfileEditor, the original desktop editor and save-file research that made much of this work possible.

This project has since been substantially expanded and rewritten with support for player resurrection, editable vitals, progression parsing, level and skill-point editing, localization, save-file recovery tools, and additional validation.

Thank you to both projects and their contributors for the original research, implementation, and inspiration.

Releases

Packages

Contributors

Languages