1C Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official 1C Company forum > 1C Publishing > IL-2 Sturmovik: Cliffs of Dover > CoD Multiplayer

CoD Multiplayer Everything about multiplayer in IL-2 CoD

Reply
 
Thread Tools Display Modes
  #1  
Old 04-24-2011, 02:14 AM
Thee_oddball Thee_oddball is offline
Approved Member
 
Join Date: Mar 2011
Posts: 812
Default Dedicated Server HOW-TO (UPDATE 5/20/11)

This post will be edited as information changes

Step 1
(update 5/1/11) As of this post i understand that CLoD is making better use of multi cores but just tobe on the safe side here are some recommendations for setting processAffinityMask in your conf.ini file

Dual-cores:

SET processAffinityMask "3"

Tri-cores & i5s:

SET processAffinityMask "7"

Quad-cores:

SET processAffinityMask "15"

I7s:

SET processAffinityMask "85"

16-core/8-core hyper-threaded

SET processAffinityMask "21845"

Step 1.1 (METHOD 1)

there are 2 ways to start a Dedicated server , below is Method 1

Right click Steam Icon (task bar) choose "library" in the upper left corner right click "il2-sturmovik cliffs of dover" and choose properties and then choose "set launch options"
under launch option type in "-server" no quotations! click OK and then close steam windows (don't shut steam down)

Step 1.1A Starting dedicated server(METHOD 2)

open a CMD window navigate to the steam folder and type in
Quote:
steam.exe -silent -login (username) (password) no Brackets! -applaunch 63950 -server
and here are some command line parameters for the Steam.exe
http://developer.valvesoftware.com/w...e_parameters_3




Step 2
start game, DOS window will open and you may or may not get an error about "servericeservicesteam" just ignore it and continue.

Step 3
Setting the difficulty level, below in quotes is information that you will copy and save as "settings.cmd" in the root folder of your game \Documents\1C SoftClub\il-2 sturmovik cliffs of dover
You can use any text editor to modify it, 0=off 1=on once you have change the values to your taste you will save the file in the root folder (as settings.cmd) and then in the DOS windows you will type "f settings.cmd" no quotes! hit enter ,now your server has the difficulty's settings you have chosen .

Quote:

difficulty AntropomorphicControl 0
difficulty ComplexEManagement 0
difficulty TorqueGyroEffects
difficulty EngineTemperatureEffects 0
difficulty FlutterEffects 1
difficulty WindTurbulence 1
difficulty StallSpins 1
difficulty Vulnerabilty 1
difficulty BlackoutsRedouts 1
difficulty Realisticgunnery 1
difficulty RealisticBombing 1
difficulty LimitedAmmo 1
difficulty LimitedFuel 1
difficulty CockpitAlwaysOn 1
difficulty NoOutsideViews 0
difficulty HeadShake 0
difficulty NoIcons 1
difficulty NoPadlock 0
difficulty Clouds 1
difficulty TakeoffLanding 1
difficulty RealisticLandings 1
difficulty NoMapIcons 0
difficulty NoMinimapPath 1
difficulty NoAutopilot 1
difficulty NoReplacementPlace 0
difficulty NoReplacement 0
difficulty NoSelect 0
difficulty NoReplacementArmy 0
difficulty NoSelectArmy 0
difficulty NoCreate 0
Step 4
setting your map up correctly, ALL maps must have this code or one like it to keep the server from being cluttered with AI and broken aircraft.
the script below must be dropped in the script section of what ever map you have loaded (under FMB), location is edit,script and then script tab once inserted choose save and a .cs of the same name as your mission will be generated.

now you may place your spawn point AA and what ever else you wish.

Now choose "view" then "object" and choose the top item from the drop menu which is "AI" under AI choose "airfield" and then hold down the CTRL button and left click the mouse with cursor right in the middle of you spawn points, then choose the AI actor tab and set the radius to 250 , this will remove broken AC from the spawn point.
(thnx Dodhouse3 for airfield.cpp)

once your map is done choose "save as" pick a name and make sure you move it to the root along with it .cs mate(see above) folder.

(thnx ZaltysZ for script)
Quote:
using System;
using maddox.game;
using maddox.game.world;
using System.Collections.Generic;

public class Mission : AMission
{
public void _DespawnEmptyPlane(AiActor actor)
{
if (actor == null)
{ return;}

Player[] Players = GamePlay.gpRemotePlayers();

bool PlaneIsEmpty = true;

foreach (Player i in Players)
{
if ((i.Place() as AiAircraft) == (actor as AiAircraft))
{
PlaneIsEmpty = false;
break;
}
}

if (PlaneIsEmpty)
{ (actor as AiAircraft).Destroy(); }
}

public override void OnPlaceLeave(Player player, AiActor actor, int placeIndex)
{
base.OnPlaceLeave(player, actor, placeIndex);
Timeout(1, () =>
{
_DespawnEmptyPlane(actor);
});
}
}
Step 6
starting your server.
type "missLoad" (name of you map) and hit enter
then type "battle start" if you see an "ok" at the end your server is started
"battle stop" will stop the server and "host" will tell you how many people our on and typing "?" will give you a list of commands


Below is a script using .cmd i use to rotate maps
Quote:
battle stop

missLoad missions/Multi/Dogfight/doom1a.mis

timeout 180.00 chat Welcome to MadMiget PornLab Server ALL
timeout 200.00 chat please repot all EXP to the 1C forum of this servers name ALL
timeout 340.00 chat Maps rotate Every 4 hours ALL
timeout 14200.000 chat Map will change in 3 minutes ALL
timeout 14260.000 chat Map will change in 2 minutes ALL
timeout 14320.000 chat Map will change in 1 minutes ALL
timeout 14400.000 f mission-2.cmd
battle start
timeout is measured in seconds so 180.00= 3 minutes so by the time 14400.000 roles around (4 hours) the "f" command is given and a new .cmd is loaded that looks just like this one except the map is different and the messages if you choose.

S!
__________________
Gigabyte Z68
Intel 2500K (@4.3 ghz)212 CM Cooler
8GB Ram
EVGA 660SC (super clocked) 2GB Vram
CORSAIR CMPSU-750TX 750W
64 GB SSD SATA II HD
WIN7 UL 64BIT

Last edited by Thee_oddball; 05-21-2011 at 10:29 PM.
Reply With Quote
  #2  
Old 04-24-2011, 02:34 AM
KDN KDN is offline
Senior Member
 
Join Date: Sep 2010
Posts: 114
Default

Very much appreciated
Reply With Quote
  #3  
Old 04-24-2011, 03:00 AM
Avenging Angel Avenging Angel is offline
Junior Member
 
Join Date: Apr 2011
Posts: 8
Default

Thank you sir. I'm a happy camper.

Now I have one questions .

What files are needed to start the dedicated server? I really don't want to go out and buy a second game just to run a dedicated server
Reply With Quote
  #4  
Old 04-24-2011, 03:11 AM
Thee_oddball Thee_oddball is offline
Approved Member
 
Join Date: Mar 2011
Posts: 812
Default

Quote:
Originally Posted by Avenging Angel View Post
Thank you sir. I'm a happy camper.

Now I have one questions .

What files are needed to start the dedicated server? I really don't want to go out and buy a second game just to run a dedicated server
According to Ataros we need another steam account and parts (cant remember) of our game to get a dedi started...but i cant find the post..perhaps ataros will repost the info
__________________
Gigabyte Z68
Intel 2500K (@4.3 ghz)212 CM Cooler
8GB Ram
EVGA 660SC (super clocked) 2GB Vram
CORSAIR CMPSU-750TX 750W
64 GB SSD SATA II HD
WIN7 UL 64BIT
Reply With Quote
  #5  
Old 04-24-2011, 03:54 AM
LeadFarmer LeadFarmer is offline
Approved Member
 
Join Date: Apr 2011
Posts: 142
Default

Oddball,

Can you tell us what the script exectly do>?

Thanks
Reply With Quote
  #6  
Old 04-24-2011, 04:03 AM
Thee_oddball Thee_oddball is offline
Approved Member
 
Join Date: Mar 2011
Posts: 812
Default

Quote:
Originally Posted by LeadFarmer View Post
Oddball,

Can you tell us what the script exectly do>?

Thanks
which one Lead?
__________________
Gigabyte Z68
Intel 2500K (@4.3 ghz)212 CM Cooler
8GB Ram
EVGA 660SC (super clocked) 2GB Vram
CORSAIR CMPSU-750TX 750W
64 GB SSD SATA II HD
WIN7 UL 64BIT
Reply With Quote
  #7  
Old 04-24-2011, 09:36 PM
Ataros Ataros is offline
Senior Member
 
Join Date: Jun 2010
Location: USSR
Posts: 2,438
Default

Quote:
Originally Posted by Thee_oddball View Post
According to Ataros we need another steam account and parts (cant remember) of our game to get a dedi started...but i cant find the post..perhaps ataros will repost the info
Steam files copied to parts\core directory as advised by a developer does not work unfortunately.

Try setting up a separate Steam account on the machine where you run a dedi server. This Steam account can be completely empty, i.e. without any games purchased according to the admin of Repka server.
Reply With Quote
  #8  
Old 04-24-2011, 11:40 PM
Thee_oddball Thee_oddball is offline
Approved Member
 
Join Date: Mar 2011
Posts: 812
Default

Ok ...6 hours of trial and error has had some positive results
all you need to run(tested) the dedicated server is
parts folder with just the core in it
Launcher.exe
Launcher,exe.config
launchergdf,dll

Bad new is that if I take those file mentioned above and move them to another location and Launch the server the window will open but it is followed by a "steamgameserver_init call failed"
now i tried copying the steam DLL files that were mentioned in another thread along with some other I thought might help but after trying 50 different ways to launch it i gave up this problem is has todo with steam.
Good news is you can start the server with out modifying the launcher
open a CMD window navigate to the steam folder and type in
Quote:
steam.exe -silent -login (username) (password) no Brackets! -applaunch 63950
the obove would be nice if it could be made ito some kind of batch file that would auto start as soon as the computer is started.

here are some more commands ,the most intriguing is the -script one however i could not get it t work

Command-line parameters

* -applaunch %id %c - This launches an Game or Application through Steam. Replace the %id with the Game/Application ID number that you want to open up, replace %c with the command line parameters for the game as listed in the Source Games section above.

* -cafeapplaunch - Launch apps in a cyber cafe context (Forces apps to be verified / validated before launch)

* -clearbeta - Opts out of beta participation (in case for some reason it can't be done via settings).

* -complete_install_via_http - Run installation completion over HTTP by default

* -console - Enables the Steam debug console tab

* -ccsyntax - Spew details about the localized strings we load

* -debug_steamapi - enables logging of Steam API functions

* -developer - Undocumented, sets the 'developer' variable to 1. Can be used to open the VGUI editor by pressing F6.
* -fs_log - Log file system accesses
* -fs_target - Set target syntax
* -fs_logbins - Log the binaries we load during operation

* -forceservice - Run Steam Client Service even if Steam has admin rights

* -gameoverlayinject - Sets the method how GameOverlay is injected

* -install %p - Install a product from a specified path (e.g. "D:" for the DVD-ROM drive if D: is one).

* -installer_test - changes installing a retail game to emit all files to install_validate/ folder instead of to the steam cache

* -language %l - Sets the Steam language to the one specified. (Examples: "english", "german")

* -login %u %p - This logs into Steam with the specified Username and Password combination. Replace %u with the username, and %p with the password you want to login with (Steam must be off for this to work.)

* -lognetapi - logs all P2P networking info to log/netapi_log.txt

* -log_voice - writes voice chat data to the logs/voice_log.txt file


* -noasync - Don't use async file operations, run them synchronous instead

* -nocache - This starts steam with no cache (Steam must be off for this to work properly.)

* -no-dwrite - forces vgui to use GDI text even if DWrite support is available

* -script %s - This runs a Steam script. Replace %s with the script filename. All scripts must be in a subdirectory of the Steam folder called test scripts (Steam must be off for this to work.)

* -shutdown - This shuts down (exits) Steam.

* -silent - This suppresses the dialog box that opens when you start steam. It is used when you have Steam set to auto-start when your computer turns on. (Steam must be off for this to work.)

* -single_core - Force Steam to run on your primary CPU only

* -tcp - forces connection to Steam backend to be via TCP

* -voice_quality - sets audio quality, range [1,3]

* -voicerelay - Only allow 'relay' connections for voice (testing).

http://developer.valvesoftware.com/w...ons#Examples_2

I don't think making an empty steam account and copying the aforementioned files will work because i think steam will tell you "you dont own that game" but i might be wrong

if your going to i would make a il2 folder just like the one you have and drop it in the same location Steam\steamapps\Common and then try the launch method above.

S!
__________________
Gigabyte Z68
Intel 2500K (@4.3 ghz)212 CM Cooler
8GB Ram
EVGA 660SC (super clocked) 2GB Vram
CORSAIR CMPSU-750TX 750W
64 GB SSD SATA II HD
WIN7 UL 64BIT

Last edited by Thee_oddball; 04-25-2011 at 01:34 AM.
Reply With Quote
  #9  
Old 05-16-2011, 08:27 PM
klem's Avatar
klem klem is offline
Approved Member
 
Join Date: Nov 2007
Posts: 1,651
Default

Quote:
Originally Posted by Thee_oddball View Post
.............

Below is a script using .cmd i use to rotate maps

................................
If I want to use both the 'Despawn' and 'three mission' script examples in my mission, do I just copy them whole, one after the other, into the .cs file or do I use the

using System;
using maddox.game;
using maddox.game.world;
using System.Collections.Generic;

public class Mission : AMission
{


part once then place each part of code within its start and end {....}

followed by the 'public class Mission : AMission' ending bracket

}
?

Like This:

Quote:
using System;
using maddox.game;
using maddox.game.world;
using System.Collections.Generic;

public class Mission : AMission
{
public void _DespawnEmptyPlane(AiActor actor)
{
if (actor == null)
{ return;}

Player[] Players = GamePlay.gpRemotePlayers();

bool PlaneIsEmpty = true;

foreach (Player i in Players)
{
if ((i.Place() as AiAircraft) == (actor as AiAircraft))
{
PlaneIsEmpty = false;
break;
}
}

if (PlaneIsEmpty)
{ (actor as AiAircraft).Destroy(); }
}

public override void OnPlaceLeave(Player player, AiActor actor, int placeIndex)
{
base.OnPlaceLeave(player, actor, placeIndex);
Timeout(1, () =>
{
_DespawnEmptyPlane(actor);
});
}


public override void OnTickGame()
{

// loads the 1st sub-mission in 10 min and repeates it every 60 min.
if (Time.tickCounter() % 108000 == 18000) // 108000 = 60 min repeat. 18000 = 10 min delay.
// pls. note!!! the 1st figure above must be always larger than 2nd!
{
GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/My_mis1/mission1.mis");

// prints message on screen after mission load
GamePlay.gpHUDLogCenter("Hello, world! Mission1.mis loaded!");

// prints message on screen in 10 minutes / 600 seconds
double initTime = 0.0;
Timeout(initTime += 600, () =>
{
GamePlay.gpHUDLogCenter("10 minutes into the 1st mission! Wow! It works!!!");
});

// prints message on screen in 5 minutes / 300 seconds
Timeout(initTime += 300, () =>
{
GamePlay.gpHUDLogCenter("Wholy s.. it works!!!");
});

}

// loads the 2nd sub-mission, etc. the same way
if (Time.tickCounter() % 108000 == 54000) // 108000 = 60 min repeat, 54000 = 30 min delay.
{
GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/My_mis1/mission2.mis");
GamePlay.gpHUDLogCenter("Mission2.mis loaded!");
double initTime = 0.0;
Timeout(initTime += 600, () =>
{
GamePlay.gpHUDLogCenter("Mission2 10 min message!");
});

Timeout(initTime += 300, () =>
{
GamePlay.gpHUDLogCenter("Mission2 15 min message!");
});
}

// loads the 3rd sub-mission
if (Time.tickCounter() % 108000 == 90000) // 60 min repeat, 50 min delay
{
GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/My_mis1/mission3.mis");
GamePlay.gpHUDLogCenter("Mission3.mis loaded!");

double initTime = 0.0;
Timeout(initTime += 600, () =>
{
GamePlay.gpHUDLogCenter("Mission3 10 min message!");
});
Timeout(initTime += 300, () =>
{
GamePlay.gpHUDLogCenter("Now it really works! You are a genius! Have fun!");
});
}
}


}
????
__________________
klem
56 Squadron RAF "Firebirds"
http://firebirds.2ndtaf.org.uk/



ASUS Sabertooth X58 /i7 950 @ 4GHz / 6Gb DDR3 1600 CAS8 / EVGA GTX570 GPU 1.28Gb superclocked / Crucial 128Gb SSD SATA III 6Gb/s, 355Mb-215Mb Read-Write / 850W PSU
Windows 7 64 bit Home Premium / Samsung 22" 226BW @ 1680 x 1050 / TrackIR4 with TrackIR5 software / Saitek X52 Pro & Rudders

Last edited by klem; 05-16-2011 at 08:32 PM. Reason: script added
Reply With Quote
  #10  
Old 05-16-2011, 08:51 PM
Ataros Ataros is offline
Senior Member
 
Join Date: Jun 2010
Location: USSR
Posts: 2,438
Default

Quote:
Originally Posted by klem View Post
If I want to use both the 'Despawn' and 'three mission' script examples in my mission, do I just copy them whole, one after the other, into the .cs file or do I use the
Wrong thread I think ))
Check out this working script http://forum.1cpublishing.eu/showpos...5&postcount=41

Discussion moved here http://forum.1cpublishing.eu/forumdisplay.php?f=203
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


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

Based on a design by: Miner Skinz.com

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © 2007 1C Company. All rights reserved.