FooBar wrote:
I kinda miss an explanation of what all letters mean in the discussion on the devzone.
Some of that is in the linked forum thread. But let's see what we can summarize here, feel free to make a nice wiki page out of the different posts.
The general idea behind this scheme was to bring some order into the somewhat uncontrolled label growth by grouping the rail types into what matters from a technical perspective. This encompasses gauge and traction type (e.g. normal rail, monorail etc.), energy source and strength. Speed is actually the odd man out here, as in reality it is mostly defined by the track layout and not by what kind of steel you put on the ground.
As described on the devzone, first letter of the label is the gauge/traction type. Most important here are "S" (standard gauge), "B" (broad gauge), "N" (narrow gauge), with some more variations for e.g. the different kinds of narrow gauge or dual gauge tracks. A track set that e.g. only provides for standard gauge would not implement any alternates for any other gauge type. Always use the generic letter first, so if you want any kind of narrow gauge, use "N", and only additionally use "n" (or whatever else) if you have two different narrow gauges (this makes sure that a vehicle that doesn't care about the exact types will still be available, so put the most common gauge on "N").
If you're nice, you'll provide less than 16 types, so a player could load an additional set for another traction type if wanted.
Let's skip to the forth letter for a moment. It is used for the energy source and the major categories are "N" (no electrification), "E" (overhead catenary), "3" (3rd rail, the London tube might get a "4" here for it's 4-rail system). If there's a need for more detail, those types can be split into sub-types, e.g. "D" for DC (and "d" for low voltage DC) and "A" for AC (and "a" for low voltage AC). If you use subtypes, map the generic type with alternate labels to one of the specific types. As with the gauge, only use the subsub-type if you also have the sub-type (i.e. "d" only together with "D").
As it would be unmanageable to specify fallbacks for any possible kind of energy source, a vehicle GRF that wants to use a specialised subtype (e.g. maybe "T" for three-phase overhead catenary) should either have a fallback railtype table with the generic energy letters or accept that the vehicle is not available without a matching track set.
FooBar wrote:
But from what I gather: I'd use the highest possible value for axle weight on the place of the *, and map all lower axle limit labels to it via the alternative railtype label list.
Now we get to the third letter, the axle weight. In the real world, axle weight is a very important property, because it has a big influence on costs. The chosen letters are basically the German weight classes and the weights given there can be used as a rough guideline, but there's no fixed value associated with each class. It's just low, medium, high, etc. A track set will likely not provide different rail types for each and every axle weight, but will map the weights to some basic track types (e.g. "a" and "A" to "low axle weight tracks", "B" to medium weight and "C", "D", "E" to high weight) using alternates. A vehicle set can assume all weights are somehow defined.
Which letter to use for the real railtype if you don't want different axle weights doesn't really matter, but highest and lowest would be obvious choices. Maybe you do have a use for different axle weights though. I don't know the details of the HSL, but for example the LGV tracks in France actually only support a low axle weight which is the reason you don't see heavy freight on them. If that also applies to Dutch railways, you could use it to curb those "realistic" 300 km/h coal trains

If you can, set axle weights for the Dutch train set for better gameplay with other track sets.
FooBar wrote:
Following the lowercase a for very low axle limit, I'd say that an "even lower speed limit" would also get a lowercase a.
So, second and final letter, speed class. Speed class is basically a track GRF thing and not a vehicle GRF thing. As vehicles normally do not have a minimum speed (stopping would be quite difficult

) they should always be defined for the "A" speed, which also means no alternates needed for other speed grades. For each track type, "A", "B", etc define an internal speed order, but they do not imply any fixed values. The high speed grade of one track type could still be slower than the low speed grade of another type.
If you e.g. would want to have a low speed unelectrified track, a medium speed DC and a high speed AC track,
all three would get the speed letter "A". You only need a different letter if you want different speeds where all other properties are identical. But if you really do need three speed grades for the same track type, using "ABC" is probably better than "aAB". The speed letter can also be used for eye-candy stuff, e.g. the rack rail in the French NG set, as it doesn't change vehicle behaviour.
Transportman wrote:
According to that scheme I would get the following list of labels:
Yard rail (Low speed Universal): ELRL
Unelectrified* (Medium speed NO Cat): RAIL
Classical lines* (Medium speed DC): SA*d
Betuwetoute (Medium Speed AC): SA*A
HSL* (High Speed AC): SB*A
Metro*: SA*3
Futuristic high speed line (No speed limit Universal): SA*E
* in the label means that all can be used (since I don't look at axle weight for this set, I fill in one letter and provide all others as alternate label.
Almost

If you have only one kind of DC, use "D" and not "d". Using "E" for universal would be alright, just be aware that it would mean that vehicles from other GRFs that make no distinction between AC/DC are automatically universal engines. If that's okay, you're good.
Should you decide to use my example about the axle weights for the HSL track, you'd define all axle weights for the SA*A type, but only some for SB*A.
-- Michael Lutz