### Latest topics

» STA(Steel Tank Add-on) 3.3 (Steel Fury)
by lockie Today at 8:02 am

» Rising Strom Red Orchestra2
by 1madmouse Sat Jun 16, 2018 7:49 pm

» New & Updated Models(Нові Моделі)
by will73 Sat Jun 16, 2018 5:40 pm

» Edith Piaf
by lockie Sat Jun 16, 2018 1:46 pm

» JCGM (Japan Community Game Pack)
by lockie Sat Jun 16, 2018 11:48 am

» Name this game
by frinik Sat Jun 16, 2018 3:42 am

» Down At The Drive-In
by woofiedog Fri Jun 15, 2018 11:15 pm

» Effects. New textures. Experiments.
by geoweb35 Thu Jun 14, 2018 7:47 pm

» Any ideas how to make this mission longer?
by geoweb35 Wed Jun 13, 2018 2:01 pm

### June 2018

MonTueWedThuFriSatSun
123
45678910
11121314151617
18192021222324
252627282930

Calendar

# Tank Server Mod

bupar
Excellence Award

Posts : 8
Join date : 2017-01-02
I have made a batch file to support the Tank Gunnery Range Mod with switching to different tanks to test out their guns.
You can also use this to swap user tanks in other mods by drag-and-dropping files with .engscr extensions found in the mod script folders (located in Steel Fury - Kharkov 1942\data\k42\loc_rus\levels\LEVELS\SCRIPTS)

The Gunnery Range mod and installation instructions can be found at the Graviteam Forum: http://graviteam.com/forum/index.php?topic=529.0

The files are packaged into a JSGME installation format to make this easy to install. If you wish to install manually, dig into the subfolder to find the files mentioned below.

There are only two files:

tankid.csv - holds the game tank names and id codes I found in the forums (incomplete as I am very new into tank sims and no way familiar with the number of playable tanks, their series and names for Steel Fury). Corrections are welcome.

0_tankid_change.bat - windows batch file to switch user tank

Both files have to be located at the base directory of Steel Fury to work with the default path coded to the Tank Gunnery Range Mod. Just double-click the .bat file and follow prompts to select country and tank series and then the tank model.

If you use this for other mods, drap-and-drop the .engscr files on the .bat file. This will work as long as both files are in the same directory.

If you encounter problems with write permission, make sure your Steel Fury installation directories are writable or install Steel Fury outside the C:\Program Files(x86) directory.

Run or Restart Steel Fury and play.

I am really very new at coding. So the code may not be efficient and may be buggy despite my best effort in testing it. Therefore, the original .engscr file will be backed up in its folder. It will be overwritten if you run the script more than once.

Known issues: won't work if there are special characters in filename such as "!" mark. STA 3.1 compiles the GMPs and script file (.engscr) no longer available for mod to change player units.

Hope it help other newbies like me!

EDIT 2014-03-12:

Expanded database and interface changes:
Tank server mod v.01c(TSM)

EDIT 2017-07-11:

Last edited by lockie on Tue Nov 07, 2017 7:00 pm; edited 7 times in total (Reason for editing : improvements and bug-fix)

lockie
TSF Member

Posts : 3846
Join date : 2014-07-24
Age : 51
Location : Ukraine, Kyiv
Hi, bupar
Welcome on the armor board!

bupar wrote:I have made a batch file to support the Tank Gunnery Range Mod with switching to different tanks to test out their guns.
Amazing! It works!

I wish I had this prog 5 years ago! I remember there were two guys who wanted to make such prog with a simple method to pick any necessary unit without to start the Mission Editor. And now we have it! Finally 10 years later after initial game release!

There are some notes.
1. Units ID doesn't corresponds to the STA versions. It does this utility should be adjusted properly to each versions.
2. I've replaced Russian on Soviet. It's correct, coz USSR had many nations and citizens were as a Soviet.
3. There is CTD, if during "2nd level menu" press smth other, ie. letters instead digits.
4. I think it's possible to create a data base of all current missions and of course GUI is more appreciated
5. What the language did u use? C++? it was a very tricky how did u manage to define the user's platoon!
6. There should be option: Restore default line up/intel

Overall - incredible work, which deserves a reward!
Later I'll make a simple mod, which will enable a choice to pick up any tanks in the mission "Fire ground".

PS
To define the sides: data\k42\loc_rus\levels\LEVELS\SCRIPTS\ai_defs.engcfg
#define SIDE_NEUTRAL 0
#define SIDE_RUSSIAN 1
#define SIDE_GERMAN 2
#define SIDE_HUNGARIAN 3
#define SIDE_RUMANIAN 4
#define SIDE_ITALIAN 5
#define SIDE_TARGET 6
#define SIDE_BRITISH 8
#define SIDE_AMERICAN 9
#define SIDE_JAPAN 10

Last edited by lockie on Mon Feb 20, 2017 9:08 am; edited 1 time in total

mechanic

Posts : 227
Join date : 2014-11-03
Age : 55
Well done!

lockie
TSF Member

Posts : 3846
Join date : 2014-07-24
Age : 51
Location : Ukraine, Kyiv
Here we're
I've re-adjusted the utility work for the mission "Firing ground", GMP1.47
Also, I've made some fixes in the unit data base to adjust properly to the STA3.1 standards, though on ~90% it is compatible with all STA versions.
If author don't mind I've named utility as TSM (Tank Server Mod).
Install through JSGME.
In common case install the last in line. Mod must be located after GMP1.47. (for STA1/2)

Getting started.
1. After installation open folder: ...\Steel Fury - Kharkov 1942
2. Find file 0_tankid_change.bat and double click it
3. Consequently make a choice three times
4. Wait a minute until utility finish the work
5. Start the game, select mission GMP1.47->Firing ground

Last edited by lockie on Tue Feb 21, 2017 7:55 am; edited 1 time in total

bupar
Excellence Award

Posts : 8
Join date : 2017-01-02
@lockie,

The program is a simple DOS command batch file so it can be run on any Windows machine and anyone can open and look at it and modify it if interested.

A GUI interface is a bit over my head and I think people will be reluctant to run downloaded compiled codes without being able to look at it nowadays.

I am working on refining the current batch file as in its current state, it gets confused when there are lines with hex numbers. I found a solution but still needs some testing.

I hacked together another batch file and culled all the player tank ids from the 3 current installed GMPs. It is easy to deduce their country but I have no idea how to find their corresponding series and model names. May be you can point me in the right direction.

The following is the output from scanning through all SCRIPTS folder with all the installed GMPS:
Code:
gbr_htank02  gbr_platoon_htank01c  gbr_platoon_ltank01c  gbr_platoon_ltank02c  gbr_platoon_mtank03c  gbr_platoon_mtank05b  gbr_platoon_mtank09f  rkka_hacar1  rkka_hspg1  rkka_htank20  rkka_htank35a  rkka_htann1  rkka_htann2  rkka_htant1  rkka_kv1b1  rkka_kv85  rkka_lacar1  rkka_ltank4  rkka_mbat1  rkka_mspg3  rkka_mspg6  rkka_mtank1  rkka_mtank2  rkka_mtank4  rkka_mtann06  rkka_mtann1  rkka_mtann2  rkka_mtann3  rkka_mtann30  rkka_mtann41rka  rkka_mtann9  rkka_platoon_ba10  rkka_platoon_f32tank04  rkka_platoon_hspg2  rkka_platoon_hspg3  rkka_platoon_htang1  rkka_platoon_htang10e  rkka_platoon_htang3  rkka_platoon_htang6a  rkka_platoon_htank1  rkka_platoon_htank3  rkka_platoon_htank4  rkka_platoon_htank5  rkka_platoon_htank7  rkka_platoon_htank8  rkka_platoon_htank9  rkka_platoon_htann06a  rkka_platoon_htann06f  rkka_platoon_htann1  rkka_platoon_htann2  rkka_platoon_htann3  rkka_platoon_htann5  rkka_platoon_htann6  rkka_platoon_htant2  rkka_platoon_htant5  rkka_platoon_lacar1  rkka_platoon_ltank01a  rkka_platoon_ltank1  rkka_platoon_ltank11  rkka_platoon_ltank22  rkka_platoon_ltank23  rkka_platoon_ltank24  rkka_platoon_ltank4  rkka_platoon_ltank5  rkka_platoon_ltank6  rkka_platoon_ltank7  rkka_platoon_ltank8  rkka_platoon_ltank9  rkka_platoon_ltant2  rkka_platoon_ltnk1  rkka_platoon_mspg1  rkka_platoon_mspg4  rkka_platoon_mspg5  rkka_platoon_mspg6b  rkka_platoon_mspg6c  rkka_platoon_mtank1  rkka_platoon_mtank2  rkka_platoon_mtank3  rkka_platoon_mtann06b  rkka_platoon_mtann1  rkka_platoon_mtann2  rkka_platoon_mtann3  rkka_platoon_mtann30b  rkka_platoon_mtann4  rkka_platoon_mtann42busa  rkka_platoon_mtann43b  rkka_platoon_mtann5  rkka_platoon_mtann6  rkka_platoon_mtann7  rkka_platoon_nrspg1  rkka_platoon_pspg3  rkka_platoon_ptank1  rkka_platoon_radztank1  rkka_platoon_t3457b  rkka_platoon_t35a  rkka_squad_mot  usa_mapc01  usa_mtank01a  usa_mtank06a  usa_mtank06f  usa_platoon_fury02  usa_platoon_fury03  usa_platoon_mapc3d  usa_platoon_mtank01c  usa_platoon_mtank02f  usa_platoon_mtank03e  usa_umspg01  wer_bmwmg1  wer_hacar1  wer_hapc1  wer_hspg1  wer_hspn1  wer_hspn3  wer_htank1  wer_htank2  wer_htank3  wer_htank5  wer_htank60  wer_htann1  wer_htann6  wer_lspg1  wer_lspg5  wer_ltann14  wer_mapc2  wer_mapc4  wer_mspg1  wer_mspn1  wer_mspn5  wer_mspn7  wer_mtank2  wer_mtank3  wer_pantherg  wer_pantherg_ga  wer_platoon_0lspg6  wer_platoon_7htann16a  wer_platoon_AA  wer_platoon_bmw_mg2  wer_platoon_gren2  wer_platoon_hapc5a  wer_platoon_hapc5f  wer_platoon_hspg1  wer_platoon_hspg2  wer_platoon_hspn4  wer_platoon_hspn5b  wer_platoon_htank11b  wer_platoon_htank11e  wer_platoon_htank24  wer_platoon_htank3  wer_platoon_htank4  wer_platoon_htank56a  wer_platoon_htank58  wer_platoon_htank5a  wer_platoon_htank60a  wer_platoon_htank8b  wer_platoon_htank9  wer_platoon_htankwer43_02  wer_platoon_htann13  wer_platoon_htann13b  wer_platoon_htann16b  wer_platoon_htann17  wer_platoon_htann17a  wer_platoon_htann3  wer_platoon_htann4  wer_platoon_htann7  wer_platoon_ktank1  wer_platoon_lspg1  wer_platoon_ltank1  wer_platoon_ltann11e  wer_platoon_ltann14b  wer_platoon_ltann14d  wer_platoon_ltann1b  wer_platoon_ltann2  wer_platoon_ltann4  wer_platoon_ltann8  wer_platoon_mspg1  wer_platoon_mspn1  wer_platoon_mspn10  wer_platoon_mspn21  wer_platoon_mspn2a  wer_platoon_mspn3  wer_platoon_mspn4  wer_platoon_mspn5  wer_platoon_mspn9  wer_platoon_mtank4  wer_platoon_mtank5  wer_platoon_mtankcz1  wer_platoon_mtanklg2  wer_platoon_mtann11b  wer_platoon_mtann11c  wer_platoon_pspg1  wer_platoon_scout_232  wer_pz6l

Posts : 16
Join date : 2014-07-24
For the significant contribution into SF development bupar awarded with a special rank "Excellence Award" with one oak leaf in a gold frame!
Vivat!

lockie
TSF Member

Posts : 3846
Join date : 2014-07-24
Age : 51
Location : Ukraine, Kyiv
Bupar, congrats with a forum award!
Keep on good work!

bupar wrote:The program is a simple DOS command batch file
Thanks for replay! DOS commands will be valid foreva !

A GUI interface is a bit over my head and I think people will be reluctant to run downloaded compiled codes without being able to look at it nowadays.
According to my exp, ppl prefer a comfort and don't care which way it was provided
Anyway, DOS window is a good choice for those who don't want to use ME.
GUI it is a long way to the top of the future.

I am working on refining the current batch file as in its current state, it gets confused when there are lines with hex numbers. I found a solution but still needs some testing.
All scripts contains a HEX values. It's a feature of the mission creating. It's a very complicated for the freshman, but provides more variables in the scripts.
In common case, HEX values are colors of the highlighted markers, symbols on the map, triggers content.

I hacked together another batch file and culled all the player tank ids from the 3 current installed GMPs. It is easy to deduce their country but I have no idea how to find their corresponding series and model names. May be you can point me in the right direction.
Of course, I can!
The names of the text identificators are located in the folder:
...Steel Fury - Kharkov 1942\data\k42\loc_rus\text
1. all new units in the STA_units.text
2. default in the loc_kit.text
3. missions names: GMP_1.47.text, GMP_2.37.text, GMP_3.32.text, GMP_4.00.text, Users_missions.text, mis_text
Some of them has a personal file name, like barbaross_orel.text
It is a data base of the unit names. The text identificators itself are located in the file:
Steel Fury - Kharkov 1942\data\k42\loc_rus\levels\LEVELS\common\common_units.engcfg
block editor()
Ie
//M5A1 editor USA
usa_ltank01a,txt_med_ltank01a_usa,%SIDE_AMERICAN%,txt_med_gr_ltanks_usa,0,1,AA,0x1f,tankl,;

I think first prog reads already prepared output data for the units, then reads common_unts to get text ID, then reads text data.

There is one a very important detail. If u want replace ONE user's tank on three ones, the next string should be replaced also AA on AAA
where AAA it is
A - first platoon
A - first tank
A - Commander
details:

Here's how it should work:
A tank platoon, for example a Panzer III platoon, is defined this way in the 'common_units.engcfg' file:
wer_platoon_mtank1,0,1,wer_mtank,3,,,,,,,,;

This consists of 3 "wer_mtank" sub-groups, which are labelled A, B and C.
Each sub-group has one vehicle, the Panzer III, and they're labeled as AA, BA and CA respectively.

An infantry platoon (for example a platoon of grenadiers) is defined this way in the ''common_units.engcfg' file:

The entire platoon is a "subgroup" labeled A.
The vehicles / squads are labeled as AA, AB, AC and AD respectively.

A mixed platoon ( for example 3 Panzer III & Grenadier Platoon) is a combination of the above:

wer_platoon_mtank2,0,1,wer_mtank,3,wer_platoon_gren1,1,,,,,,;
There are 4 subgroups ( 3 'wer_mtank' and 1 'wer_platoon_gren1' ) which are designated as A, B, C and D.

The various vehicles are designated:

AA (1st Panzer III)
BA (2nd Panzer III)
CA (3rd Panzer III)

The sequence (ABCD) depends on how it's listed in the "common_units.engcfg" entry.
For instance, playing around with the Mixed Platoon example:
wer_platoon_mtank2,0,1,wer_mtank,1,wer_platoon_gren1,1,wer_mtank,2,,,;
The vehicles would be 'numbered' in this sequence:

AA (1st Panzer III)
CA (2nd Panzer III)
DA (3rd Panzer III)

The following is the output from scanning through all SCRIPTS folder with all the installed GMPS:
That's a very long work to compile ALL units together!

I've one issue, would be pleased if u replay. Plz, check out PM.

Last edited by lockie on Wed Feb 22, 2017 8:08 pm; edited 1 time in total

bupar
Excellence Award

Posts : 8
Join date : 2017-01-02

@lockie,

Thank you so much for the comments.

I've done some debugging for problem you've noted and made some minor improvements. A revised version of the batch file incorporating those changes are now available for download in the link at the end of the first post in your JSGME package with your revised database.

The program cannot handle files with special characters, such as !, in the filename. I have not found a way around that. Limitations with DOS batch files.

The info you gave will take some time for me to digest as I have not even play around with the mission editor yet and knows little about where info are spread around the different files. I'd only focused on swapping tanks for gunnery training as I am just getting started on the sim. I suspect the info you've provided will entice me to hack more than play.  Certainly I will be exploring more once I get a little bit more familiar with it.

will73
TSF Member

Posts : 408
Join date : 2014-07-24
Age : 44
Location : Україна мКиїв
Bupar.
Thank you very much for the great utility!
My congrats with a new rank!

woofiedog
TSF Member

Posts : 1211
Join date : 2014-07-27
Location : New England
bupar... Thanks for this excellent utility and all of the hard work involved that went into making it possible.

Also congratulations for your well deserved award.

bupar
Excellence Award

Posts : 8
Join date : 2017-01-02
Thanks! Especially appreciated coming from old hands. Glad to be able to contribute, all be it very small compared to the time and work you all have put into this forum and the mods.

bupar
Excellence Award

Posts : 8
Join date : 2017-01-02

Interface improvements and expanded player units database.

Still only supports single player tank insertion. No multiple tanks or infantry included in database.

Added Japanese Community Pack tank units but only playable with the JCM mod installed.

There are units specific to STA versions. If you insert an incompatible unit into a mission, SF will crash while loading the mission. Just re-run the batch file and switch to another unit and restart SF.

STA 3.1 seems to have GMPs pre-compiled and SCRIPT folder now relatively empty. I have not found a way for switching in these pre-compiled missions, including "Firing ground" for which the batch file defaults to when double-clicked. You can still drag and drop .engscr files to make changes but it is harder to tell which mission the files belong to anymore as there are some left over scripts, e.g. in cm_teach, that seems to have been deactivated.

lockie
TSF Member

Posts : 3846
Join date : 2014-07-24
Age : 51
Location : Ukraine, Kyiv
bupar wrote:
STA 3.1 seems to have GMPs pre-compiled and SCRIPT folder now relatively empty. I have not found a way for switching in these pre-compiled missions, including "Firing ground" for which the batch file defaults to when double-clicked.
Yes, mostly all files of the STA3.1 were archived, coz it should had provided the stability and faster work. But at the point of modern CPU it doesn't make a big diff.
I'll open all missions in the next update, thus the accessing will be provided and TSM will operate as it expected.

mechanic

Posts : 227
Join date : 2014-11-03
Age : 55
Are there any news of the version STA3.3?