Toggle menu
15
242
113
28K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Prd (talk | contribs)
Prd (talk | contribs)
 
(144 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Ongoing=
''I can't stay long, whispered the butterfly, but I'll put a memory in your heart.''
Seven primary areas (floating 8th for Sysadmin activities)...
----
#API to (Headless) CMS
:'''Socials'''
#Map Three-Phase Refactor
::Discord - prd1847
#Wiki Scaffolding (Thin proxy extension experiments)
::Prdandsuch on [https://www.reddit.com/user/prdandsuch/ Reddit]
#Manifest Pipeline (Private pipe 80% done)
::whatisaprd on [https://x.com/whatisaprd X/Twitter]
#JobRunner overhaul (Blazorizing)
::KenshiDBdotWiki@gmail.com
#KenshiDB overhaul (Blazorizing)
----
#C# Bridge (TestHarness talking...)
[[Project:Realpolitik|Realpolitik, World Revisions]]
----
[https://mega.nz/folder/2DRFAYzJ#sF1O8a2VhRwM3J0ddaNYug Mega Archive]
----
[https://map.kenshi.wiki map.kenshi.wiki - Interactive Map]


=11/11=
[https://kenshidb.wiki kenshidb.wiki - KenshiDB, Asset Repository]
[https://www.youtube.com/watch?v=C0SMMwDsl5o  The detour and investigation were a success, with caveats. The prognosis is terminal (sad) and the prospects for revision are untenable. Such as it is, the theoretical needle is going to require SigScanning - RVA matching is too brittle and caused the precise problems seen in attempted modernization. A  salute to good work and a noble attempt. Moving along.]


=11/12=
[https://jobboard.kenshi.wiki jobboard.kenshi.wiki - Job Runner Dashboard]
[https://www.youtube.com/watch?v=B-tSvszOOE8 Plant trees you'll never sit in the shade of.]
----
=12/25=
[https://www.youtube.com/watch?v=bxjrcTXri1c Merry Christmas]
=12/27=
[https://www.youtube.com/watch?v=aXNL1NIQ1RM Makesyoumove]
=12/29=
[https://www.youtube.com/watch?v=fJt3sWvjrmI Doldrums]


[https://www.youtube.com/watch?v=nxg4C365LbQ Energy harvest.]
In the depths of navigating the Cloudflare ecosystem. Examining what can be done with workers & beyond for edge caching. Did you know serverless functions can be managed almost entirely externally? That took some mental model migration. An early look at setting up the smart switch for optimized request delivery & processing is the focal point right now. The task map for what's to be done with the map is largely settled. Doing it ideally means making that initial API request and page loading nice & quick. The wiki comes back into play as the map is "wired" to connect to the corresponding page targets (see the Stobe landmark). Various upgrades to Caravan and then the creation of the modding portals follows. Yes, a mass deletion campaign of the test templates will occur, because... the Wikipedia templates are  often overbuilt for our needs / inappropriate for the Citizen skin, etc...
 
{{Center|'''SVGs reign supreme!'''}}
 
[[File:ColorfulMapLayers.png|frame|center|Colorful roads, borders, resources & weather layers.]]
 
[[File:RoadSmithv7.png|center|Road editor progress...Consumes polylines and allows editing thereafter.|1416x1416px|border|frameless]]
 
[[File:PaintingToolsPreview.png|frame|center|Painting & Planning tools for the map.]]


=11/13=
Placing the final touches on manifest management... Laying the groundwork for the overhaul of the wiki's UI-API relationship to the map, content management for ''KenshiDB'' (remember?) and "upgraded" job runner dashboard (this combined with refining the runner itself). The converging pipelines, dashboards & monitors invariably lead to returning to the map in earnest. Toying around in Ghidra, btw.
----
----
=Kenshi Wiki's full tech stack=
 
Not that anyone cares to - but here are the various potential areas for contribution and how they're managed, subject to some change...
[[Category:Pages using center with no arguments]]
:Hosted on '''Ubuntu 24.04''' (this may change!)
[[Category:Pages using center with unknown parameters| Prd]]
;Web server...
 
::'''Nginx''', '''Varnish''' & '''Cloudflare''' for DNS
=Next Steps=
::'''MariaDB''' for MySQL
 
::Most logging (and the Job Runner) are managed through '''Cron jobs (Bash)'''.
'''1. DataTools'''
;Sites...
:A. Building Locations (Done)
::Knowing '''HTML''', '''CSS''' & '''Javascript''' is always valuable
:B. Feature Locations (Done)
::The wikisite is primarily focused on '''PHP''' on the backend, mostly '''Javascript''' and '''Lua''' focused on the frontend
:C. Road Layout (Done)
::The interactive map uses a basic setup of '''HTML, CSS & Javacript''', for now.
:D. Biomes (...) (Done)
:::This is subject to change, '''Typescript''' integration is underway - DB migration thereafter.
:E. "Anything else"
::The other sites, Manifestor, File Storage (KenshiDB) & Wiki Job Runner are managed through '''Blazor'''.
:F. "Assets" (data map)
:::'''C#, Razor, Entity Framework, ASPNET, OAuth...systemd'''.
:// Separated concerns.
::::Experimenting with '''Go, F# (Bolero)''' and '''Cloudflare Workers'''.
:G. Dialogue Packages (Done)
::::Note on this - no integration intentions as of yet, simply experimenting. Except CFWs - those are desirable later optimizations.
:H. Dialogue(s) (Done)
;External tools
:I. Dialogue Lines (Done)
:Both the KenshiDataTools (Extraction + Manifestation) & the Kenshi SDK (KenshiConnector and its growing list of submodules) are written in C#.
:J. Dialogue Actions (50%)
:I tend to do most development in Visual Studio / + (Code) nowadays. VSC is especially nice with its SSH add-on - reason enough to acquiesce to the .NET ecosystem.
 
'''2. IMap'''
:A. Painting & Planning (Done, v1 pinned)
:B. Help & Tooltips (Tested, modestly implemented, further tweaks & proliferation)
:C. Power Ranks & World History (50%)
:D. Advanced Overlays (In progress.)
:E. Town Layouts, Landmarks, Road Network and Biomes. (Biomes done.)
:F. Equipment Locker (12/2, 50%)
:G. Main Modal Window (4 migrated)
:H. Light/Dark Theming
:I. Right menu additions (states, campaigns).
:K. v2 Data Processing (12/5+)
 
'''3. Caravan'''
:A. Proper Page Declaration & Separation
:B. Painting & Placements Import/Export
:C. Landing Page
:D. User Manifest Manager
:E. Final Manifest Additions
:F. Thin Proxy Discussion
'''4. Manifestor'''
:A. KDB Backend Test
:B. MapOrchestration
:C. Map's v2 Endpoint
:D. Global Action Log
:E. 2FA Logins
:F. PluggableAuth, OpenID Connect & OAuth 2.0 private access
'''5. World Studio'''
:A. See after completion of map segment. Task Map B.
 
'''6. SDK'''
:A. Pinned due to ongoing workflow change. Task Map B.
----
'''Continuing Education'''
:''Bash''
::https://www.youtube.com/watch?v=Sx9zG7wa4FA
:''nginx''
::https://nginx.org/en/docs/beginners_guide.html
:''Varnish''
::https://vinyl-cache.org/docs/6.0/
:''SVGs''
::https://www.svgrepo.com/tools/
:''JSON''
::https://www.json.org/json-en.html
::''Personal note'', almost the entire site and external tooling operate based upon generation and exchange of JSON. It is, much like SVGs, utterly critical to how this site and the rest of the ecosystem operates.
:''C# (.NET and Beyond)''
::https://learn.microsoft.com/en-us/
::https://learn.microsoft.com/en-us/dotnet/csharp/
::https://learn.microsoft.com/en-us/dotnet/?view=aspnetcore-10.0
::https://learn.microsoft.com/en-us/openapi/
::https://learn.microsoft.com/en-us/visualstudio/?view=visualstudio
::[https://devclass.com/2025/05/29/microsoft-designates-blazor-as-its-main-future-investment-in-web-ui-for-net/ Why I've chosen Blazor for 2026 and beyond]
:Code Style
:::An aside. I am an advocate for minification and making source maps available. This comes loaded with an '''extremely opinionated''' code style that is wholly divergent from industry standard (AirBnB style) formats. Spatial specificity (interchangeable with line specificity and explicit spatial containment), is a kind of mixed format derived from JSON's presentation, reapplied across other web native languages (primarily HTML, CSS & Javascript). There are goofy reasons for its existence, which I'm happy to share!
:::# I do a significant amount of debugging in my browser. The interface appears to the right side of my screen. Tall, vertically focused, dense code is readable insofar as that it requires no horizontal scrolling. Logic can be dense so long as it's communicated.  
:::# I'm privy to split views and multiple windows, causing wide lines across multiple screens to require adjustment and constant panning to view.
:::# Whitespace does exactly nothing '''for me'''. In fact, it's rather unhelpful! Minimizing whitespace and offsetting/replacing with new line breaks removes what feels like a rollercoaster across screen space.  
:::# I have poor eyesight. Larger text helps - this inherently causes horizontal space to become a luxury when accounting for the aforementioned situations. Equalized line starts are really "no different" when brackets are provided new lines by default, meaning there's no hidden bracket ever lingering off-screen to the right.
:::# When a block is functional and finished its format is '''irrelevant''' respective to what will occur in the minification process. Likewise, source maps can unwind any applied style and reformatted to a more "traditional" presentation for public viewing.  
:::# My preferences are not intended to be embraced by anyone - they're '''my''' preferences. Nevertheless, because I do intend to make the format "known" (in terms of having a public reference and a knowledge base to point to), so that it can be refined, iterated upon, have a thorough ruleset and be comprehended by myself and others... a doc site will be made to show and explain! Importantly, I'll be building in a transmutation tool for converting to and from the format (for my own purposes, though anyone would be welcome to use it).
 
[[Category:Pages using center with no arguments]]
[[Category:Pages using center with unknown parameters| Prd]]

Latest revision as of 04:39, 30 December 2025

I can't stay long, whispered the butterfly, but I'll put a memory in your heart.


Socials
Discord - prd1847
Prdandsuch on Reddit
whatisaprd on X/Twitter
KenshiDBdotWiki@gmail.com

Realpolitik, World Revisions


Mega Archive


map.kenshi.wiki - Interactive Map

kenshidb.wiki - KenshiDB, Asset Repository

jobboard.kenshi.wiki - Job Runner Dashboard


12/25

Merry Christmas

12/27

Makesyoumove

12/29

Doldrums

In the depths of navigating the Cloudflare ecosystem. Examining what can be done with workers & beyond for edge caching. Did you know serverless functions can be managed almost entirely externally? That took some mental model migration. An early look at setting up the smart switch for optimized request delivery & processing is the focal point right now. The task map for what's to be done with the map is largely settled. Doing it ideally means making that initial API request and page loading nice & quick. The wiki comes back into play as the map is "wired" to connect to the corresponding page targets (see the Stobe landmark). Various upgrades to Caravan and then the creation of the modding portals follows. Yes, a mass deletion campaign of the test templates will occur, because... the Wikipedia templates are often overbuilt for our needs / inappropriate for the Citizen skin, etc...

SVGs reign supreme!
Colorful roads, borders, resources & weather layers.
Road editor progress...Consumes polylines and allows editing thereafter.
Road editor progress...Consumes polylines and allows editing thereafter.
Painting & Planning tools for the map.

Next Steps

1. DataTools

A. Building Locations (Done)
B. Feature Locations (Done)
C. Road Layout (Done)
D. Biomes (...) (Done)
E. "Anything else"
F. "Assets" (data map)
// Separated concerns.
G. Dialogue Packages (Done)
H. Dialogue(s) (Done)
I. Dialogue Lines (Done)
J. Dialogue Actions (50%)

2. IMap

A. Painting & Planning (Done, v1 pinned)
B. Help & Tooltips (Tested, modestly implemented, further tweaks & proliferation)
C. Power Ranks & World History (50%)
D. Advanced Overlays (In progress.)
E. Town Layouts, Landmarks, Road Network and Biomes. (Biomes done.)
F. Equipment Locker (12/2, 50%)
G. Main Modal Window (4 migrated)
H. Light/Dark Theming
I. Right menu additions (states, campaigns).
K. v2 Data Processing (12/5+)

3. Caravan

A. Proper Page Declaration & Separation
B. Painting & Placements Import/Export
C. Landing Page
D. User Manifest Manager
E. Final Manifest Additions
F. Thin Proxy Discussion

4. Manifestor

A. KDB Backend Test
B. MapOrchestration
C. Map's v2 Endpoint
D. Global Action Log
E. 2FA Logins
F. PluggableAuth, OpenID Connect & OAuth 2.0 private access

5. World Studio

A. See after completion of map segment. Task Map B.

6. SDK

A. Pinned due to ongoing workflow change. Task Map B.

Continuing Education

Bash
https://www.youtube.com/watch?v=Sx9zG7wa4FA
nginx
https://nginx.org/en/docs/beginners_guide.html
Varnish
https://vinyl-cache.org/docs/6.0/
SVGs
https://www.svgrepo.com/tools/
JSON
https://www.json.org/json-en.html
Personal note, almost the entire site and external tooling operate based upon generation and exchange of JSON. It is, much like SVGs, utterly critical to how this site and the rest of the ecosystem operates.
C# (.NET and Beyond)
https://learn.microsoft.com/en-us/
https://learn.microsoft.com/en-us/dotnet/csharp/
https://learn.microsoft.com/en-us/dotnet/?view=aspnetcore-10.0
https://learn.microsoft.com/en-us/openapi/
https://learn.microsoft.com/en-us/visualstudio/?view=visualstudio
Why I've chosen Blazor for 2026 and beyond
Code Style
An aside. I am an advocate for minification and making source maps available. This comes loaded with an extremely opinionated code style that is wholly divergent from industry standard (AirBnB style) formats. Spatial specificity (interchangeable with line specificity and explicit spatial containment), is a kind of mixed format derived from JSON's presentation, reapplied across other web native languages (primarily HTML, CSS & Javascript). There are goofy reasons for its existence, which I'm happy to share!
  1. I do a significant amount of debugging in my browser. The interface appears to the right side of my screen. Tall, vertically focused, dense code is readable insofar as that it requires no horizontal scrolling. Logic can be dense so long as it's communicated.
  2. I'm privy to split views and multiple windows, causing wide lines across multiple screens to require adjustment and constant panning to view.
  3. Whitespace does exactly nothing for me. In fact, it's rather unhelpful! Minimizing whitespace and offsetting/replacing with new line breaks removes what feels like a rollercoaster across screen space.
  4. I have poor eyesight. Larger text helps - this inherently causes horizontal space to become a luxury when accounting for the aforementioned situations. Equalized line starts are really "no different" when brackets are provided new lines by default, meaning there's no hidden bracket ever lingering off-screen to the right.
  5. When a block is functional and finished its format is irrelevant respective to what will occur in the minification process. Likewise, source maps can unwind any applied style and reformatted to a more "traditional" presentation for public viewing.
  6. My preferences are not intended to be embraced by anyone - they're my preferences. Nevertheless, because I do intend to make the format "known" (in terms of having a public reference and a knowledge base to point to), so that it can be refined, iterated upon, have a thorough ruleset and be comprehended by myself and others... a doc site will be made to show and explain! Importantly, I'll be building in a transmutation tool for converting to and from the format (for my own purposes, though anyone would be welcome to use it).