The magicdata is a list of info about the track. It will "tell" the game some specific characteristic about the track and about the AI/human cars behaviour in that track.
Every track has (or should have) its own magicdata because, loading a track without a proper magicdata, the game will assign to it by default the specific data of the original Gp3 track related to the slot where the new track has been loaded. It means a wrong setup, a wrong fuel load and in most of the cases a loading error which ends with a crash to desktop because the default bumptable could be longer than the one allowed by our track.
Magicdata is a simple file editable with any text editor that only requires to be saved as .md (.md2 for Gp3 2000). The only safe way to edit a magicdata is to open an existant one and change the values as needed simply saving it at the end, because this file must keep its form in anycase as the game loads from there all the sensible values.

CREATING THE MAGICDATA
We'll consider the editing of a magicdata to be used with Gp3 1.13. Here are listed all the values contained inside a magicdata and all their possible ranges. Some values are the result of testing, some other entries are taken as they are from hints provided by other members of the Gp3 community.


[gp3 magic file]
Header. This must never miss.
 
Blank Row.
168 ; fw
Front wing of the AI cars. Accepted values between 151 and 171 where 151=0 and 171=20.
166 ; rw
Rear wing of the AI cars. Accepted values between 151 and 171 where 151=0 and 171=20.
175 ; 1st
181 ; 2nd
187 ; 3rd
193 ; 4th
199 ; 5th
205 ; 6th
Gear Ratio of the AI cars. Accepted values between 151 and 171 where 151=0 and 171=20. Usually they are set in steps of 6 but it depends of the track. Important is that higher is the gear higher must be the value assigned so 3rd gear can't have a lower value than 2nd gear.
53 ; hard tyre
52 ; soft tyre
Resistance of the two tyre compounds. Hard tyres should have an higher value than the soft tyres. Commonly used Combos: 55/54, 54/53, 53/52.
100 ; >= 50 tyretype 1 else 0
Tyre type selector. 0= all cars with hard tyres. 100= all cars with soft tyres.
16384 ; unused
16384 ; unused
16384 ; unused
16384 ; unused
Unused values, they should be left this way as default.
16448 ; track grip
Overall grip of the track. Suggested values between 16000 and 18500. Lower values than 16000 will cause a wet track effect meaning long braking area etc etc...
16384 ; unused
16384 ; unused
Unused values, they should be left this way as default.
21 ; related to next value below
Suggested values from 16 to 35.
995 ; ride height
AI cars ride height. Suggested values from 850 to 1040.
16617 ; air resistance?
Suggested values from 15000 to 17500. Lower is the value higher is the driveability and steering ability.
6352 ; fuel???
Fuel quantity needed to complete a lap. It should be set to consume around 1.0 of fuel each lap.
128 ; subtracted from diff between field_e2 of 2 cars and then compared to speed of first car
???
16413 ; tyre wear
Tyre resistance in race. Lower values preserve the tyres for more laps. Common values usable are between 10000 and 14000.
64768 ; added to car.field_108. related to cc grip factor
Values from 64512 to 65536. It should involve the slipstream amount.
768 ; grip???
Suggested values: 128, 256, 384, 480, 512, 640, 768.
10000 ; cc power factor (ace)
Percentage of engine bph used in ace level than the values set in Gp3Edit. 10000=100%. In example 800bph with 9800 in power factor become 784bph which is the 98% of the total.
9900 ; cc grip factor (ace)
Percentage of driver grip used in ace level than the values set in Gp3Edit. 10000=100%. In example 16700 with 9800 in grip factor become 16366 which is the 98% of the total.
9900 ; cc power factor (semi-pro)
9040 ; cc grip factor (semi-pro)
8920 ; cc power factor (rookie)
8920 ; cc grip factor (rookie)
Same parameters as the ace level but for lower levels of skill. As shown values should be lower as lower is the skill level.
512 ; cc random perf range min
2048 ; cc random perf range max
Undefined. they could be the deviation between the best performance/lap and the worst performance/lap in any given circumstance. To be confirmed.
64 ; some chance. same chance multiplied with race perc.
Seems to set the chance for the AI cars to make driving errors.
64 ; segment count, range 1 to 256
Sectors to repair the error for AI cars or sectors in which the car will be under a mistake situation. To be confirmed.
0 ; sectors to pit in 1
Sectors to prepare to enter the pit entrance. Counter from the pitlane start to backward.
2 ; sectors to pit in 2
Sectors to re-join the cc-line when left the pit exit. counter from the pitlane end to forward.
20480 ; pre pit speed limit
Speed to approach the pit entrance. A fast entrance should have an higher value than one in a slover section.
15892 ; fuel consumption 1
15604 ; fuel consumption 2
Respectively fuel consumption adjust for human car (1) and AI cars (2).
5199 ; cc shuffler???
It seems to influence the pace of both cc-cars and human car during the course of a stint, comparable to a weight losing effect. Reasonable values are from 1000 to 4000. Commonly suggested values are in the first half. Yet the best values has to be found by testing from track to track.
12 ; a segment nr before which flag 0x80 in car.flags_ce is not cleared
Units from the sf/line in which the cars will keep a rail-line at the start of the race. It helps to disciply cars and prevent chaotic starts.
74920 ; timing factor? (dword!)
It is the poletime of the track (related to the specific racing category). In example 80700 equals to 1:20.700s.
820 ; timing factor finetune? (dword!)
Adjustment for the laptime. In example -1000 equals to adding +1.000s to the laptime while 1000 makes the poletime 1.000s faster.
11293 ; helps decide if a tyre set needs changing? (dword!)
???
15000 ; same as above (dword!)
???
11 ; rain chance
Sets the chance to have the rain in a session as higher is this value. Accepted values between 0 and 100.
6 ; segment nr (start of some range)
6 ; segment nr (end of some range)
256 ; another perf factor
12000 ;
0 ;
Unknown. These values should be left as they are by default.
15 ; pitstop group 1 %
Sets how many cars (in %) will use a 1 stop strategy.
31 ; stop 1
Sets the lap in which the stop is scheduled.
8 ; pit window 1
sets the range of laps in which the cars will do the stop. In this case between lap31 and lap39 (31+8).
0 ;
0 ;
0 ;
0 ;
0 ;
Unused. should be left as they are by default
70 ; pitstop group 2 %
Sets how many cars (in %) will use a 2 stops strategy.
16 ; stop 1
Sets the lap in which the first stop is scheduled.
5 ; pit window 1
sets the range of laps in which the cars will do the first stop. In this case between lap16 and lap21 (16+5).
39 ; stop 2
Sets the lap in which the second stop is scheduled.
6 ; pit window 2
sets the range of laps in which the cars will do the second stop. In this case between lap39 and lap35 (39+6).
0 ;
0 ;
0 ;
Unused. Should be left as it is by default
5 ; pitstop group 3 %
Sets how many cars (in %) will use a 3 stops strategy.
13 ; stop 1
Sets the lap in which the first stop is scheduled.
3 ; pit window 1
sets the range of laps in which the cars will do the first stop. In this case between lap13 and lap16 (13+3).
24 ; stop 2
Sets the lap in which the second stop is scheduled.
3 ; pit window 2
sets the range of laps in which the cars will do the second stop. In this case between lap24 and lap27 (24+3).
50 ; stop 3
Sets the lap in which the third stop is scheduled.
4 ; pit window 3
sets the range of laps in which the cars will do the third stop. In this case between lap50 and lap54 (50+4).
0 ;
Unused. Should be left as it is by default
0 ; failure chance : suspension
0 ; failure chance : loosewheel
0 ; failure chance : puncture
2234 ; failure chance : engine
1489 ; failure chance : transmission
0 ; failure chance : oilleak/waterleak
0 ; failure chance : throttle/brake
0 ; failure chance : electrics
They set in which amount the failure will happen in a particular track. In example very fast track should have many engine problems while slow and tortuouses tracks should have many transmission problems or street tracks should have many suspenion problems because of the wall risk.
16368 ; unused
16256 ; unused
16128 ; unused
15872 ; unused
Unused. Should be left as they are by default.
17920 ; bump factor
9 ; bump shift
???
Blank Row.
[bumptable]
Header. It must never miss.
Blank Row.
0,0
31,1
63,0
164,1
186,0
300,1
336,0
602,1
643,0
771,1
789,0
The bumptable defines the bumpiness of the track surface through intervals of units. Every entry is composed by two parameters: the distance from the start expressed in units and the level of the bump. There can be as many entries we want but the highest one must be shorter than the total lenght of the track. In example if a track is 790 units, the highest entry for the bump table can be 789. The levels of bump can be commonly 0,1,2,3,4,5 etc... but higher bumps may produce rough effect.

To simulate a race without pitstops we need to set the pit strategy to a single stop for all and set the beginning of the stops period at the last lap with a window of 1 lap, so none will enter the pits at the last lap. The downside of this feature is of course the heavy load of fuel on cars at the start of the race which will cause in the first part some troubles as cars will find hard brakings and overtakes. Also fuel consumption could be involved being cars very slow in the first laps and tyre consumption should be set accordingly to run the entire race on a single train. See the example below for a 70 laps race:

100 ; pitstop group 1 %
70 ; stop 1
1 ; pit window 1

A long race without pitstops may not give a realistic feedback in the race. As the game is programmed to use the pitstops, the behaviour of the AI cars may appear too ‘cautious’ or give a not realistic fuel consumption. Anyway this method may work nicely in short race types like sprint races. To set a pitstop in a short race it could be necessary to open the dat file of the track with the Gp3 Track Editor by Paul Hoads and change the number of laps. It's important to remember that once a track is save from the track editor, the magicdata installe in it will be lost so i't good to have a backup copy of the track or the magicdata before doing any action. The pit strategy of a short race of 30 laps with a pit stop in the middle may look like this:

100 ; pitstop group 1 %
12 ; stop 1
6 ; pit window 1

all cars with pit between lap 12 and lap 18 (12+6)


IMPORTING/EXPORTING THE MAGICDATA

To import the magicdata into the track we need a program called Cmagic by Marc Aarts. Once installed the program and located the gp3.exe file, the only thing to do is to browse to load the track and to browse to load the magicdata we created. When both will be loaded the INSERT DATA button will turn on. Clicking this button the magicdata will be imported into the track and a confirm message (Done…) will appear in the bottom of the editor.



The option ‘Backup original track file’ if checked, will create a backup of the track to save eventually the previous magicdata imported. It will create a new file with the extention .DAT.BAK. To restore the old track just remove the extention .BAK and it will return to be a .DAT. To extract the magicdata of a track we need to load this track in CMagic and choose the option EDIT -> GET MAGICDATA FROM TRACK FILE.
The original tracks don’t contain any magicdata but the values are contained into Gp3.exe. So to extract the magicdata from an original track we need to select EDIT -> CREATE MAGIC FILE FROM GP3.EXE. It will ask from which track we want to extract the magicdata by typing the number of the related slot from 1 to 16: 1: Melbourne, 2: interlagos...  
It’s good to remember that Gp3 1.13 and Gp3 2000 have their own magicdata format, The Gp3_2k version has some more values, mainly related to additional setups or some physics details. For a good working of the games it’s good to use them in their specific version but it’s anyway possible to convert them from a version to another. If a track is announced to work only for Gp3 2000, converting the magicdata, the track will not work anyway on Gp3 1.13, because of the filesize. Otherwise that magicdata can be used on an homologous Gp3 1.13 track. For this purpose two little editors can be used:  
-Magic converter by Thomas (Major Tom) Stuhrmann which converts the Gp3 1.13 format into the Gp3 2000 one;
-MD2/MD converter by Roberto Scandura which converts the magicdata from Gp3 2000 format to the Gp3 1.13 one.
The usage of both programs is simple: they consist to load the origin magicdata and perform the conversion into the other format.