Official Fulqrum Publishing forum

Official Fulqrum Publishing forum (http://forum.fulqrumpublishing.com/index.php)
-   FMB, Mission & Campaign builder Discussions (http://forum.fulqrumpublishing.com/forumdisplay.php?f=203)
-   -   Tasks & Stats in continuous online campaign (http://forum.fulqrumpublishing.com/showthread.php?t=24954)

stillborn 07-28-2011 05:02 PM

Tasks & Stats in continuous online campaign
 
5 Attachment(s)
Here is an online mission which records and/or uploads 768 different events in game. I hope this helps making our online play more fun.

About Mission:

There are 4 ai controlled frontlines in which ships and armors try to reach the enemy's base in the same path, base defenses and 2 bomber missions in which Wellingtons and He111s bomb an area between enemy airfields. These continuous missions are inside script and loaded into ram at battle start to reduce loading times.

About Gameplay
  • Each side has two airfields and the aircrafts users can spawn are below:
    For Air Tasks
    ------[Red] SpitfireMkIa, SpitfireMkI, HurricaneMkI
    ------[Blue] Bf-109E-1, Bf-109E-3, G50
    For Ground Tasks
    ------[Red] BlenheimMkIV, HurricaneMkI
    ------[Blue] Ju-88A-1, Aircraft.BR-20M, Bf-109E-1
    For Naval Tasks
    ------[Red] BlenheimMkIV
    ------[Blue] Ju-88A-1
    also selectable bombs are limited for a balanced play
  • To complete a task you need to at least damage an internal part or cut a limb of an actor of your task type
  • Bombers spawn approximately 10km behind your base, travel all the map, bomb their target and return back to where they started, after that they turn in a circle a few times and disappear, you should consider this if you are heading to a bomber behind enemy lines and outside the map. Unfortunately they are too dumb to land and removing them by damaging leads to unfair stat collection so do not engage bombers outside the map.

Everything is written from ground up according to the examples from devs. I have included a balance system based on red75prime from sukhoi.ru's balance code which is modified not to use dictionary for performance and to be compatible with stat collection. For max performance stats processing is done asynchronously in a seperate single thread which sleeps automatically when there's nothing to be done.If you experience lags try lowering stbSr_Worker thread priority in line 140 and/or increasing queue length in line 99.

Files must be in the "missions/multi/dogfight/StbVolcanicIslands2/" folder to work. Stats are read back by default (optional) every time server/battle is restarted so collecting dta for a week or month is possible. Different stats like "tasks completed per place enters" or "ace of the week/month" can be variated.

More details about campaign can be found in attachment pics and readme.txt, i have also included the visual studio solution in zip so you can benefit from its syntax correction, dont forget to update reference paths of core.dll, gameworld.dll and part.dll in solution explorer's reference folder if you plan to use visual studio solution.

All my methods and variables have stb prefix so you can integrate your own code without any worries. You can even integrate the script to another map directly by just setting "all the boolean variables except the ones related to stat collection&balance" to false at the "customizable variables region".


Latest version (1.1) is here

adonys 07-28-2011 07:47 PM

thank you, mate, I'll have a look.

SNAFU 07-28-2011 08:49 PM

Alter Schwede, :-o:-P

I hear what you say, but I don´t understand a word. I wish I could follow your script, above the 5th line... :grin:

Anyhow, looks great! :cool:

SNAFU 07-28-2011 09:08 PM

Your mission is now running on our test server (III./JG27TestServer) for a try, will report back tomorrow evening (UTZ+2).

stillborn 07-28-2011 09:41 PM

Quote:

Originally Posted by SNAFU (Post 316339)
Your mission is now running on our test server (III./JG27TestServer) for a try, will report back tomorrow evening (UTZ+2).

you should be able to see my stats in the log right now :grin:
please report any mission related errors you experience from the StbVolcanicIslands2_errorlog.txt

SNAFU 07-29-2011 05:35 AM

Here the stats:
http://www.india499.server4you.de/JG...rstats_low.htm

Seem to work! :cool:

But I have no "StbVolcanicIslands2_errorlog.txt" on the disk, sorry. Do I have to create that file, so it can write into?

Ataros 07-29-2011 07:58 AM

Hi, stillborn!

Thanks a lot for your mission again! Just had a quick look at it. Looks fantastic!

I did not see any frontline on the map. I assume it should move depending on tanks progress? Moving frontline gives players incentive to fight harder.

Could you please write a very short briefing for the mission explaining what sides can achieve, e.g. moving frontline, capturing some objectives, etc. I think it is important for players to know what they should concentrate on, e.g. if shooting down bombers or destroying ships helps to move frontline. How AI bombers select targets? I would like to have a short description to post on the forums to attract more players to the servers running this mission.

BTW. On Repka #3 we added Spit2 to the captured blue airfield. It is a good incentive for everyone to fight for it now.

Also I have a small request especially important for this new mission as it has only 4 airfields. Vulching is a big problem for small maps with few airfields. Could you please include a script damaging attacker's plane if someone damages enemy within 1200m diameter and 1000m altitude from an airfield? Maybe you have better idea how to prevent vulching on small maps.

What are the balancing rules? Is it progressive like 15 seconds if there are 10% more fighters, 30 seconds if 20% more fighters, 1 minute if 30%, 3 minuted if 40%, etc. or something like this?

Could you please include air kill per death, air kill per sortie, current streak, max streak into statistics and same for ground and ship kills? Do I understand you correctly that statistics will be continuous for months and years of the server life? I.e. each pilot's record can be viewed from the very beginning? I did not get what you mean by "Different stats like "tasks completed per place enters" or "ace of the week/month" can be variated." Can not see anything like this in stat sample.

Thank you for great code again!

PS. What do you think of writing a mission like this one? http://www.adw.alkar.net/en/static/rules/index.html

Ataros 07-29-2011 09:48 AM

Need urgent help, please!

When trying to run the mission on Repka #2 server we get a pop-up window "Can`t open / create file". This prevents server from automatically restarting the mission twice a day as we do with other missions. What could be causing it and can it be fixed?

btw. Server has a Russian version of the game and OS (Win Server 2003 x32). Thus system uses comma as decimal separator, not a decimal point. This caused some issues in other missions. BigRepa changed paths in your mission to match x32 version.

StbVolcanicIslands2_errorlog.txt is not created either.

Edit.
Attached is the mission with paths edited for x32 version. Please have a look if it does not miss anything.

stillborn 07-29-2011 12:08 PM

Quote:

Originally Posted by Ataros (Post 316499)
Need urgent help, please!

When trying to run the mission on Repka #2 server we get a pop-up window "Can`t open / create file". This prevents server from automatically restarting the mission twice a day as we do with other missions. What could be causing it and can it be fixed?

btw. Server has a Russian version of the game and OS (Win Server 2003 x32). Thus system uses comma as decimal separator, not a decimal point. This caused some issues in other missions. BigRepa changed paths in your mission to match x32 version.

StbVolcanicIslands2_errorlog.txt is not created either.

Edit.
Attached is the mission with paths edited for x32 version. Please have a look if it does not miss anything.

ive checked the file the only different lines are upload related ones at the top, make sure the "user account credentials application(game) uses" have read/write/create etc permissions for the folder StbVolcanicIslands2 and the ftp username and password has the same permissions for the upload path. Some windows user accounts may have read write change permission but not create, this is more typical in server environments, make sure the game is running as administrator.

the path creation method i used has some hardcoded dumb approach, like this:
1. get the application path => (which is "C:\Users\user01\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\cache" in my computer)
2. crop last 5 chars => ("C:\Users\user01\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\")
3. append "missions\Multi\Dogfight\StbVolcanicIslands2\" to it => ("C:\Users\user01\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\missions\Multi\Dogfight\StbVolcanicIslands2\ ")
4. create all the absolute full file names from this => ("C:\Users\user01\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\missions\Multi\Dogfight\StbVolcanicIslands2\ StbVolcanicIslands2_playerstats_low.htm" etc etc)

maybe cache folder is named something else in russian version or you have uploaded it to "C:\Program Files (x86)\Steam\steamapps\common\il-2 sturmovik cliffs of dover\missions\Multi\Dogfight\StbVolcanicIslands2" instead, sorry i forgot to mention this, but you have a user stat in the file with name "satar" which means all this progress completed correctly and it wrote to the file successfully and you dont have to care about the explanation in the upper paragraph.:grin:

Currently my system has a different default CultureInfo too (uses comma as decimal separator). I've created an invariant culture info(en-US) variable and used it in all required string conversions in all threads. So you dont have to worry about different system settings, this is very very low probability but there may be an extra change required because of the Russian game version, cant tell it without testing.

just make sure you use ToString(stb_nf) or "ToString(stbSr_nf) in stat recorder class" instead of ToString() if you want to add anything in the future.

Quote:

Originally Posted by SNAFU (Post 316428)
But I have no "StbVolcanicIslands2_errorlog.txt" on the disk, sorry. Do I have to create that file, so it can write into?

StbVolcanicIslands2_errorlog.txt is not created unless there is an error, its totally fine if you dont see it.

Ataros 07-29-2011 12:29 PM

The problem is we have to close the pop-up window "Can not read/write file" manually when restarting the mission. Then it works fine.

BigRepa told he had to change paths from "Program Files (x86)" to "Program Files" because server runs x32 version. Could this be a reason? Can it be avoided (no mention of (x86) in path names?


All times are GMT. The time now is 07:52 PM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.