Skip to content

Add Soapstone param RPC methods#522

Merged
vawser merged 2 commits into
vawser:mainfrom
goblock2021:main
Jul 2, 2026
Merged

Add Soapstone param RPC methods#522
vawser merged 2 commits into
vawser:mainfrom
goblock2021:main

Conversation

@goblock2021

Copy link
Copy Markdown
Contributor

Summary

Adds 8 new gRPC methods to the Soapstone server, enabling remote access to Param Editor data via RPC.

New RPC Methods

Method Description
ListParams List all param names in the loaded project
DescribeParam Get param metadata: type, row count, all field definitions
GetParamRow Get all field values for a specific row by index
GetParamRows Get all rows matching a given ID (handles duplicate IDs)
ListParamRows List all row IDs, names, and indices (fast overview)
SetParamCell Set a single cell value by row index
ExecuteMassEdit Execute a Mass Edit script on the server's param data
ReloadParams Hot-reload param changes to the running game process

Other Changes

  • SoulsMemoryHandler.cs: Add ProjectType.NR (NightReign) to GetRowCount() type check
  • SoulsMemoryHandler.cs: Fix static ProcessOffsetBank dictionary leak — Terminate() now removes entries
  • SoapstoneClient.cs: Fix gRPC channel shutdown fire-and-forget — now waits for pending shutdown before creating new
    connections
  • SoapstoneServer.cs: Add Kestrel connection limits (MaxConcurrentConnections = 100, KeepAliveTimeout = 2 min)

Files Changed

  • Proto/internal.proto — new message types
  • Proto/soapstone.proto — 8 new RPC definitions
  • SoapstoneServer.cs — method handlers + Kestrel limits
  • SoapstoneServiceV1.cs — new virtual method declarations
  • SoapstoneService.cs — service implementations
  • SoapstoneClient.cs — channel shutdown fix
  • SoulsMemoryHandler.cs — NR support + dictionary leak fix

…arams, DescribeParam, GetParamRow, GetParamRows, SetParamCell, ListParamRows)
@goblock2021

Copy link
Copy Markdown
Contributor Author

I use them in conjunction with an external CLI script, which is very useful for data mining using LLMs. Additionally, it’s helpful to use external scripts to connect to SmithBox, make real-time modifications, and reload the changes into the game.

@goblock2021 goblock2021 force-pushed the main branch 3 times, most recently from 4e1787c to 3ec08c5 Compare July 2, 2026 06:04
Translate all 64 JSON files (2083 entries) to Simplified Chinese.
Register Chinese language in Languages.json.
Preserve technical terms: Param, FLVER, MSB, FMG, BND, VFS, etc.
Use official Chinese game names for all FromSoftware titles.
@vawser vawser merged commit 995dd9a into vawser:main Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants