{"project":{"id":"edcf7eb8-7a08-4869-83a0-3a3d94e91ea4","slug":"simview","title":"SimView","about":"# SimView\n\nSimView is a Hytale server plugin that separates **simulation distance** chunks from **view distance** chunks.\n\nIt keeps a controlled simulation distance for gameplay while streaming additional distant chunks as view-only \"cold\" chunks. This lets players see farther with much lower server cost than simulating everything in full.\n\n## Configuration\n\nOn startup, SimView creates:\n\n- `SimView/config/simview.json`\n\n### Default config\n\n```json\n{\n  \"core\": {\n    \"enabled\": true,\n    \"gui-enabled\": true,\n    \"disable-join-hint-message\": false,\n    \"target\": {\n      \"view-distance-chunks\": 32,\n      \"simulation-distance-chunks\": 32\n    },\n    \"limits\": {\n      \"minimum\": {\n        \"view-distance-chunks\": 0,\n        \"simulation-distance-chunks\": 0\n      },\n      \"maximum\": {\n        \"view-distance-chunks\": 32,\n        \"simulation-distance-chunks\": 32\n      }\n    }\n  },\n  \"auto-adjustment\": {\n    \"mode\": {\n      \"view\": \"off\",\n      \"simulation\": \"off\"\n    },\n    \"cadence\": {\n      \"ticks-per-check\": 600,\n      \"startup-delay-ticks\": 2400\n    },\n    \"checks\": {\n      \"view\": {\n        \"for-increase\": 10,\n        \"for-decrease\": 1\n      },\n      \"simulation\": {\n        \"for-increase\": 10,\n        \"for-decrease\": 1\n      }\n    },\n    \"proactive\": {\n      \"global-cold-chunk-count-target\": 120000,\n      \"global-ticking-chunk-count-target\": 0\n    },\n    \"reactive\": {\n      \"increase-mspt-threshold\": 40.0,\n      \"decrease-mspt-threshold\": 47.0,\n      \"mspt-collection-period-ticks\": 1200,\n      \"use-mspt-prediction\": true,\n      \"mspt-prediction-history-minutes\": 30\n    }\n  },\n  \"cold-chunk-streaming\": {\n    \"generate-missing\": true,\n    \"cache-packets-in-memory\": true,\n    \"despawn-entities\": true,\n    \"budget\": {\n      \"chunk-sends-per-second\": 96,\n      \"chunk-sends-per-tick\": 8,\n      \"cold-chunk-loads-in-flight\": 64\n    }\n  },\n  \"speeding-adjustments\": {\n    \"not-send-blocks-per-tick\": 1.2,\n    \"cooldown-ticks\": 40,\n    \"budget\": {\n      \"chunk-sends-per-second\": 24,\n      \"chunk-sends-per-tick\": 2\n    }\n  }\n}\n```\n\n## Auto Mode\n\nSimView tracks two active targets independently:\n\n- **active target simulation distance** (ticking/hot chunks)\n- **active target view distance** (cold + hot visible chunks)\n\nRuntime constraints are always enforced:\n\n- simulation distance target is clamped by simulation min/max.\n- view distance target is clamped by view min/max.\n- simulation distance target will never exceed view distance target.\n- view distance target will never go below simulation distance target.\n\nBoth auto modes share check cadence:\n\n- `auto-adjustment.cadence.startup-delay-ticks`\n- `auto-adjustment.cadence.ticks-per-check`\n\nBoth auto modes also use consecutive-check gating before a change applies:\n\n- view: `auto-adjustment.checks.view.for-increase|for-decrease`\n- simulation: `auto-adjustment.checks.simulation.for-increase|for-decrease`\n\n### Mode behavior\n\n- `off`\n  - Holds fixed configured targets.\n- `proactive`\n  - View mode follows `auto-adjustment.proactive.global-cold-chunk-count-target`.\n  - Simulation mode follows `auto-adjustment.proactive.global-ticking-chunk-count-target` (disabled when target is `0`).\n- `reactive`\n  - Uses MSPT thresholds:\n    - `<= auto-adjustment.reactive.increase-mspt-threshold`: candidate increase\n    - `>= auto-adjustment.reactive.decrease-mspt-threshold`: candidate decrease\n    - in-between: stay\n  - Optional prediction (`auto-adjustment.reactive.use-mspt-prediction`) blocks risky increases using historical MSPT-per-chunk slopes.\n- `mixed`\n  - Combines proactive and reactive checks (stronger signal wins).\n\n### Practical tuning guidance\n\n- Keep `auto-adjustment.reactive.decrease-mspt-threshold` higher than `auto-adjustment.reactive.increase-mspt-threshold`.\n- Keep simulation decrease checks low for faster overload shedding.\n- Increase view increase checks if visible distance climbs too aggressively.\n- Use different modes for each target to shape load behavior and hot:cold ratio dynamically.\n\n## Commands\n\n- `/simview`\n  - Permission group: `hytale:None`\n  - Opens the full SimView GUI.\n  - On dedicated servers: requires admin permissions.\n  - On singleplayer worlds: owner can always open it.\n  - GUI edits save config and auto-reload SimView immediately.\n- `/simviewreload`\n  - Permission group: `hytale:Admin`\n  - Reloads `simview.json`, reapplies caps, and resets tuner state.\n","description":"SimView decouples view distance from simulation distance, letting players see farther without server load.","authorId":"692620f7c2f3266e23ac0ded","author":"Villagers654","imageUrl":"https://cdn.modtale.net/images/af52fb4b-47b5-4869-a8db-048d5248c9b8-cropped-image.svg","bannerUrl":"https://cdn.modtale.net/images/a50a30f5-ef32-4cfd-82a0-1caaa6c80e77-cropped-image.png","classification":"PLUGIN","tags":["Performance","Admin Tools","World Gen"],"downloadCount":55,"favoriteCount":0,"repositoryUrl":"","updatedAt":"2026-10-06T12:34:52.530019948","createdAt":"2026-06-01T22:19:50.564980890","license":"MIT","customLicenseOpenSource":false,"links":{},"allowModpacks":true,"allowComments":true,"hmWikiEnabled":true,"hmWikiSlug":"simview","galleryCarouselEnabled":false,"status":"PUBLISHED","canEdit":false,"isOwner":false},"metadata":{"mod":{"id":"019e83af-fb7a-702e-92c5-3d609178a5ba","name":"SimView","slug":"simview","description":"SimView decouples view distance from simulation distance, letting players see farther without server load.","visibility":"public","author":{"name":"Villa","username":"Villagers654","avatar_url":null},"created_at":"2026-06-01T12:56:49.000000Z","updated_at":"2026-06-01T13:29:45.000000Z"},"pages":[{"id":"019e83b9-5d4f-7240-9727-02c07681749a","title":"Home","slug":"home","kind":"page","children":[]},{"id":"019e83bb-ef0d-7114-974a-0b515919f66a","title":"FAQ & Troubleshotting","slug":"faq-troubleshotting","kind":"page","children":[]},{"id":"019e83bc-a030-71a7-8305-6b8d1eb4f556","title":"Installation & Setup","slug":"installation-setup","kind":"page","children":[]},{"id":"019e83bd-2dde-72a7-8de2-127d2d81346f","title":"Config","slug":"config","kind":"page","children":[]},{"id":"019e83bd-7477-719f-861b-75a7e427f79f","title":"Commands","slug":"commands","kind":"page","children":[]},{"id":"019e83bf-bef8-736d-b2c1-a1a65b1e3e33","title":"Auto Mode","slug":"auto-mode","kind":"page","children":[]},{"id":"019e83c4-bb1b-71a7-8ade-57d977f7c19c","title":"Performance Profiles","slug":"performance-profiles","kind":"page","children":[]}]},"page":{"page":{"id":"019e83b9-5d4f-7240-9727-02c07681749a","title":"Home","slug":"home","kind":"page"},"content":"# SimView Wiki\n\nSimView is a Hytale server plugin that decouples **simulation distance** from **view distance**.\n\n## What SimView Does\n\n- Keeps a configurable simulation radius for ticking/hot chunks.\n- Allows larger visual distance via streamed cold chunks.\n- Supports fixed targets or an automatic tuning modes.\n- Provides an in-game GUI (`/simview`).\n\n## Download\n\n- [Modtale](https://modtale.net/mod/simview)","parent":null,"children":[]},"pageSlug":"home"}