Kalgoorlie Retro Docs

Documentation for the Kalgoorlie Retro BBS, its games and servers

User Tools

Site Tools


lordkg:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
lordkg:start [2026-11-08 15:15] – created - external edit 127.0.0.1lordkg:start [2026-11-08 23:06] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== LORDKG ====== ====== LORDKG ======
  
-LORDKG makes the five registration codes that LORDCFG asks for when you register **Legend of the Red Dragon 4.07** (the 2009 patch shows itself as "4.08 Beta"). The codes depend only on the sysop name and the BBS name.+LORDKG makes the five registration codes that LORDCFG asks for when you register **Legend of the Red Dragon**. One program covers both kinds of LORD registration, and you choose which one when you run it:
  
-The current version is **1.0** (8 November 2026).+  * **LORD 4.06**: the codes don't depend on any name. LORDKG makes a random set that LORDCFG accepts. 
 +  * **LORD 4.07 / 4.08 Beta**: the codes depend on the sysop name and the BBS name. (The 2009 patch shows itself as "4.08 Beta".) 
 + 
 +The current version is **1.3** (9 November 2026). It fixes the LORD 4.06 codes: those from 1.1 and 1.2 were wrong, so if you used one of them for LORD 4.06, make a new set.
  
 ===== Why it exists ===== ===== Why it exists =====
  
-Gameport sold the LORD 4.07 registrations, but it has been unreachable for many years. Michael Preslar, the author of LORD 4.07, hasn't been able to contact them either. No one has been able to buy a code for more than ten years, so a sysop running 4.07 today has no other way to register it.+Gameport sold the LORD registrations, but it has been unreachable for many years. Michael Preslar, the author of LORD 4.07, hasn't been able to contact them either. No one has been able to buy a code for more than ten years, so a sysop running LORD today has no other way to register it.
  
 ===== What's in the zip ===== ===== What's in the zip =====
Line 15: Line 18:
 | ''LORDKG.PY'' | The Python 3 version, for Linux, Windows and macOS (no extra modules) | | ''LORDKG.PY'' | The Python 3 version, for Linux, Windows and macOS (no extra modules) |
 | ''LORDKG.PAS'' | The Free Pascal source of LORDKG.EXE | | ''LORDKG.PAS'' | The Free Pascal source of LORDKG.EXE |
 +| ''sbbs/lordkg.js'' | A sysop-only door for Synchronet BBS (see [[#the_synchronet_door|below]]) |
 +| ''sbbs/lordkglb.js'' | The door's code calculations |
 | ''LORDKG.TXT'' | The manual | | ''LORDKG.TXT'' | The manual |
 | ''FILE_ID.DIZ'' | File description | | ''FILE_ID.DIZ'' | File description |
 | ''COPYING'' | The GNU General Public License, version 2 | | ''COPYING'' | The GNU General Public License, version 2 |
  
-Both programs give the same codes.+All three versions work the same way and give the same codes.
  
 ===== Using it ===== ===== Using it =====
  
-Run it with no parameters and it asks for the two names:+Run it with no parameters and it asks which LORD version the key is for:
  
 <code> <code>
 C:\LORD> LORDKG C:\LORD> LORDKG
 + Which LORD version is the key for?
 +   1) LORD 4.06
 +   2) LORD 4.07 / 4.08 Beta
 + Choice (1 or 2) -> 2
 +
  Sysop name -> Seth Able  Sysop name -> Seth Able
  BBS name   -> The Red Dragon BBS  BBS name   -> The Red Dragon BBS
  
 + LORD version -> 4.07 / 4.08 Beta
 -=-=-=-=-=-=-=-=-=-=- -=-=-=-=-=-=-=-=-=-=-
  Regcode #1 -> 48302  Regcode #1 -> 48302
Line 39: Line 50:
 </code> </code>
  
-Or give the names on the command line, in quotes if they have spaces:+Choose **1** and it prints a LORD 4.06 set straight away. The numbers are different every time, and any of them work:
  
 <code> <code>
-LORDKG "Seth Able" "The Red Dragon BBS" + LORD version -> 4.06 
-python3 lordkg.py "Seth Able" "The Red Dragon BBS"+-=-=-=-=-=-=-=-=-=-=- 
 + Regcode #1 -> 1798 
 + Regcode #2 -> 5025 
 + Regcode #3 -> 9377 
 + Regcode #4 -> 6052 
 + Regcode #5 -> 19255 
 +-=-=-=-=-=-=-=-=-=-=-
 </code> </code>
  
-If your shell or BBS menu can't pass quotes, use ''/U'' and an underscore for each space: ''LORDKG /U Seth_Able The_Red_Dragon_BBS''. ''LORDKG /?'' shows a short help screen.+==== Command line ==== 
 + 
 +^ Command ^ What it does ^ 
 +| ''LORDKG /406'' | Random LORD 4.06 codes | 
 +| ''LORDKG /406 1000 0 0 0'' | LORD 4.06 with your own first four numbers (0-10000; #1 + #2 + #3 + half of #4 must be at least 971); LORDKG works out the fifth | 
 +| ''LORDKG /407 "Sysop" "BBS Name"'' | LORD 4.07 codes | 
 +| ''LORDKG /407 /U Sysop BBS_Name'' | The same, with ''_'' for each space, for shells and menus that can't pass quotes | 
 +| ''LORDKG "Sysop" "BBS Name"'' | Two names and no switch mean LORD 4.07, as in version 1.0 | 
 +| ''LORDKG /?'' | A short help screen | 
 + 
 +The Python version takes the same parameters: ''python3 lordkg.py /406''.
  
-===== Registering LORD =====+===== Registering LORD 4.07 / 4.08 Beta =====
  
-  - Run LORDKG with your sysop name and BBS name.+  - Run LORDKG, choose 2, and type your sysop name and BBS name.
   - Run ''LORDCFG.EXE'' in the LORD folder and choose to enter the registration information.   - Run ''LORDCFG.EXE'' in the LORD folder and choose to enter the registration information.
   - Type the two names exactly as you gave them to LORDKG, then the five codes.   - Type the two names exactly as you gave them to LORDKG, then the five codes.
Line 56: Line 83:
  
 The names must match character for character. Capitals and spaces change the codes, so "Seth Able" and "SETH ABLE" get different ones. Names can be up to 30 characters; LORDKG ignores anything past that. The names must match character for character. Capitals and spaces change the codes, so "Seth Able" and "SETH ABLE" get different ones. Names can be up to 30 characters; LORDKG ignores anything past that.
 +
 +===== Registering LORD 4.06 =====
 +
 +  - Run LORDKG and choose 1, or run ''LORDKG /406''.
 +  - Run ''LORDCFG.EXE'', choose **Register Lord**, then **Enter registration codes**, and type the five numbers.
 +  - LORDCFG says **THE GAME IS NOW REGISTERED!** Quit and save.
 +
 +LORD 4.06 asks for no names, and the numbers aren't tied to your board: any set that passes the check works. LORDKG picks a random set so that different boards don't all use the same code.
 +
 +===== The Synchronet door =====
 +
 +The ''sbbs'' folder in the zip has LORDKG as a JavaScript door for Synchronet BBS, with the same menu as LORDKG.EXE:
 +
 +<code>
 + Which LORD version is the key for?
 +
 +   1) LORD 4.06
 +   2) LORD 4.07 / 4.08 Beta
 +   Q) Quit
 +</code>
 +
 +Choose 1 for a random LORD 4.06 set, or 2 and type the sysop name and BBS name for LORD 4.07 (leave a name blank to go back). Each set of codes is shown with a reminder of where to type it in LORDCFG. It was tested on Synchronet 3.21 for Linux, and uses only Synchronet's standard JavaScript, so it should work the same on Windows.
 +
 +The door is a sysop tool: make it sysop-only, so callers never see it.
 +
 +==== Installing the door ====
 +
 +  - Make a folder ''xtrn/lordkg'' in your Synchronet directory (for example ''/sbbs/xtrn/lordkg'' or ''C:\SBBS\XTRN\LORDKG'') and copy ''lordkg.js'' and ''lordkglb.js'' from the zip's ''sbbs'' folder into it. Keep the names in lower case: Synchronet on Linux looks for exactly these names.
 +  - Run SCFG, choose **External Programs**, then **Online Programs (Doors)**, pick a sysop-only section (the stock **Operator** section is one) and add a program:
 +
 +^ Setting ^ Value ^
 +| Name | ''LORDKG - LORD Registration Codes'' |
 +| Internal Code | ''LORDKG'' |
 +| Start-up Directory | ''../xtrn/lordkg'' |
 +| Command Line | ''?lordkg.js'' |
 +| Access Requirements | ''SYSOP'' |
 +| Execution Requirements | ''SYSOP'' |
 +
 +Leave the other settings as they are. The ''?'' at the start of the command line tells Synchronet that it is a JavaScript module.
 +
 +If you edit ''ctrl/xtrn.ini'' by hand instead, the entry looks like this (''OPERATOR'' is the section's internal code):
 +
 +<code>
 +[prog:OPERATOR:LORDKG]
 +        name=LORDKG - LORD Registration Codes
 +        ars=SYSOP
 +        execution_ars=SYSOP
 +        cmd=?lordkg.js
 +        startup_dir=../xtrn/lordkg
 +</code>
 +
 +Save and exit SCFG; Synchronet loads the change the next time a node is free. Log on as a sysop and find LORDKG under External Programs. The Kalgoorlie Retro BBS runs it in its Operator section.
  
 ===== How the codes are worked out ===== ===== How the codes are worked out =====
 +
 +==== LORD 4.06 ====
 +
 +LORDCFG.EXE 4.06 only checks that the five numbers fit together:
 +
 +**Code 5 = Code 1 + Code 2 + Code 3 + (Code 4 / 2) + 29**
 +
 +Code 4 counts at half its value, rounded down: 6052 counts as 3026. Codes 1 to 4 must each be from 0 to 10000, and code 5 must be at least 1000. This was read from the checking code in LORDCFG.EXE 4.06 itself, and LORD.EXE 4.06 checks the codes again the same way each time it starts. LORDKG's random codes 1 to 4 are each from 1000 to 9999, which always passes.
 +
 +==== LORD 4.07 / 4.08 Beta ====
  
 LORDKG uses the same calculation as an older Windows program, ''lord47kg.exe'' (author unknown), worked out from its machine code. Both names are first padded to 10 characters with A, B, C... if they are shorter. LORDKG uses the same calculation as an older Windows program, ''lord47kg.exe'' (author unknown), worked out from its machine code. Both names are first padded to 10 characters with A, B, C... if they are shorter.
Line 68: Line 157:
 | 5 | Half of each BBS name character (rounded down), added up, kept to 16 bits, then doubled. | | 5 | Half of each BBS name character (rounded down), added up, kept to 16 bits, then doubled. |
  
-The Python and Pascal versions were checked against each other on 4,913 random and edge-case name pairs, and the DOS build in DOSBox. Both also give the sample codes that came with ''lord47kg.exe'' (sysop / bbs: 45788 29601 846 7216 782).+The Python and Pascal versions were checked against each other on 4,913 random and edge-case name pairs, and the DOS build in DOSBox. Both also give the sample codes that came with ''lord47kg.exe'' (sysop / bbs: 45788 29601 846 7216 782), and every LORD 4.06 set they make is checked against the rule above. The Synchronet door's calculations were checked against the Python version on 3,001 name pairs.
  
 ===== Building LORDKG.EXE ===== ===== Building LORDKG.EXE =====
Line 82: Line 171:
 ===== Downloads ===== ===== Downloads =====
  
-From [[https://retro.theiguru.au/lordkg/]], or the **Heisenbergs Files** area on the BBS: ''LORDKG10.ZIP''.+From [[https://retro.theiguru.au/lordkg/]], or the **Heisenbergs Files** area on the BBS: ''LORDKG13.ZIP''. 
 + 
 +The same places also have **LORD Keygen** (''lord-keygen_0.1.1_amd64.deb''), a separate desktop app for Ubuntu and Debian (amd64) that makes LORD 4.06 codes only. You pick the first four numbers with sliders or at random, it works out the fifth, and it can check a code you type. Install it with ''sudo apt install ./lord-keygen_0.1.1_amd64.deb''. Version 0.1.1 has the same LORD 4.06 fix as LORDKG 1.3: 0.1.0 counted all of the fourth number, so its codes were refused. LORD Keygen is free software under the GNU GPL (version 2 or later), and the package includes its Rust source.
  
 ===== Licence ===== ===== Licence =====
lordkg/start.1794150950.txt.gz · Last modified: by 127.0.0.1