Reasons why custom maps crash online

In this forum you will find and post information regarding the modding of Star Wars Battlefront 2. DO NOT POST MOD IDEAS/REQUESTS.

Moderator: Moderators

Post Reply
Executer94
Major
Major
Posts: 504
Joined: Fri May 01, 2009 7:45 am
Location: Chalmuns Cantina

Reasons why custom maps crash online

Post by Executer94 »

I created a map with a lot of objects and default sides but custom tur sides.

What are often reasons that custom maps crash online?
Xavious
Sith Master
Sith Master
Posts: 2783
Joined: Mon Jun 12, 2006 3:46 pm

Re: Reasons why custom maps crash online

Post by Xavious »

Put this line in your lua, if you haven't already.

Code: Select all

SetMemoryPoolSize("SoldierAnimation", 2000)
Executer94
Major
Major
Posts: 504
Joined: Fri May 01, 2009 7:45 am
Location: Chalmuns Cantina

Re: Reasons why custom maps crash online

Post by Executer94 »

ok I'll do that

It doesn't crash for me just when a player joined his game crashs
Xavious
Sith Master
Sith Master
Posts: 2783
Joined: Mon Jun 12, 2006 3:46 pm

Re: Reasons why custom maps crash online

Post by Xavious »

Yeah, that usually happens when you don't have your SoldierAnimation memory pools filled.
Executer94
Major
Major
Posts: 504
Joined: Fri May 01, 2009 7:45 am
Location: Chalmuns Cantina

Re: Reasons why custom maps crash online

Post by Executer94 »

it crashs also with the soldier animation

maybe there's something wrong with my lua:
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("LinkedTurrets")

-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;


function ScriptPostLoad()





--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp1"}
cp2 = CommandPost:New{name = "cp2"}
cp3 = CommandPost:New{name = "cp3"}
cp4 = CommandPost:New{name = "cp4"}



--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}

--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)

conquest:Start()
SetUberMode(1);
EnableSPHeroRules()

end


---------------------------------------------------------------------------
-- FUNCTION: ScriptInit
-- PURPOSE: This function is only run once
-- INPUT:
-- OUTPUT:
-- NOTES: The name, 'ScriptInit' is a chosen convention, and each
-- mission script must contain a version of this function, as
-- it is called from C to start the mission.
---------------------------------------------------------------------------
function ScriptInit()

ReadDataFile("ingame.lvl")


SetMaxFlyHeight(100)
SetMaxPlayerFlyHeight (100)

SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",50) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",650) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",550) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",6000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",100) -- should be ~1x #combo

ReadDataFile("dc:sound\\uta.lvl;uta1cw")
ReadDataFile("sound\\kas.lvl;kas2cw")
ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_sniper_felucia",
"rep_inf_clone_assassin",
"rep_inf_ep3_jettrooper",
"rep_inf_ep3_rifleman",
"rep_hero_yoda",
"rep_inf_ep3_officer",
"rep_inf_ep3_engineer",
"rep_hero_kiyadimundi",
"rep_hover_barcspeeder")
ReadDataFile("SIDE\\cis.lvl",
"cis_tread_snailtank",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_marine",
"cis_inf_magnaguard",
"cis_inf_officer",
"cis_walk_spider",
"cis_hero_grievous",
"cis_inf_droideka")




ReadDataFile("dc:SIDE\\dwa.lvl",
"cis_walk_dwarfspider")

ReadDataFile("dc:SIDE\\ran.lvl",
"ran_inf_rancor")




ReadDataFile("dc:SIDE\\mag.lvl",
"cis_inf_magnaguard")



ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_chaingun_tripod",
"tur_bldg_tower")











SetupTeams{
rep = {
team = REP,
units = 120,
reinforcements = 100,
soldier = { "rep_inf_ep3_rifleman",1, 4},
assault = { "rep_inf_ep3_rocketeer",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_sniper_felucia",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},



},
cis = {
team = CIS,
units = 120,
reinforcements = 100,
soldier = { "cis_inf_rifleman",7, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_officer",1, 4},
special = { "cis_inf_droideka",1, 4},

}
}




SetHeroClass(CIS, "cis_hero_grievous")
SetHeroClass(REP, "rep_hero_kiyadimundi")


function SetupTurrets()

--CIS turrets
turretLinkageCIS = LinkedTurrets:New{ team = CIS, mainframe = "ddt",
turrets = {"gau1", "gau2", "gau3", "gau4", "gau5", "gau6", "gau7", "gau8", "gau9", "gau10", "gau11", "gau12", "gau13",} }
turretLinkageCIS:Init()

function turretLinkageREP:OnDisableMainframe()
ShowMessageText("level.spa.hangar.mainframe.atk.down", CIS)
ShowMessageText("level.spa.hangar.mainframe.def.down", REP)

BroadcastVoiceOver( "ROSMP_obj_21", REP )
BroadcastVoiceOver( "COSMP_obj_20", CIS )
end
function turretLinkageREP:OnEnableMainframe()
ShowMessageText("level.spa.hangar.mainframe.atk.up", CIS)
ShowMessageText("level.spa.hangar.mainframe.def.up", REP)

BroadcastVoiceOver( "ROSMP_obj_23", REP )
BroadcastVoiceOver( "COSMP_obj_22", CIS )
end
end




-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 0) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("SoldierAnimation", 2000)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 32)
SetMemoryPoolSize("EntityWalker", 32)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("EntityRemoteTerminal", 12)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:DDT\\DDT.lvl", "DDT_conquest")
ReadDataFile("dc:DDT\\DDT.lvl", "DDT_conquest")
SetDenseEnvironment("false")




-- Sound

SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")

voiceSlow = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)

voiceQuick = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_quick", voiceQuick)

OpenAudioStream("sound\\global.lvl", "cw_music")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
OpenAudioStream("sound\\kas.lvl", "kas")
OpenAudioStream("sound\\kas.lvl", "kas")


SetBleedingVoiceOver(REP, REP, "rep_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(REP, CIS, "rep_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, REP, "cis_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, CIS, "cis_off_com_report_us_overwhelmed", 1)

SetAmbientMusic(REP, 1.0, "rep_kas_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_kas_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2,"rep_kas_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_kas_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_kas_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2,"cis_kas_amb_end", 2,1)



SetVictoryMusic(REP, "rep_kas_amb_victory")
SetDefeatMusic (REP, "rep_kas_amb_defeat")
SetVictoryMusic(CIS, "cis_kas_amb_victory")
SetDefeatMusic (CIS, "cis_kas_amb_defeat")


SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--SetSoundEffect("BirdScatter", "birdsFlySeq1")
--SetSoundEffect("WeaponUnableSelect", "com_weap_inf_weaponchange_null")
--SetSoundEffect("WeaponModeUnableSelect", "com_weap_inf_modechange_null")
SetSoundEffect("SpawnDisplayUnitChange", "shell_select_unit")
SetSoundEffect("SpawnDisplayUnitAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplaySpawnPointChange", "shell_select_change")
SetSoundEffect("SpawnDisplaySpawnPointAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplayBack", "shell_menu_exit")


AddDeathRegion("death")


--OpeningSateliteShot
AddCameraShot(0.908386, -0.209095, -0.352873, -0.081226, -45.922508, -19.114113, 77.022636);

AddCameraShot(-0.481173, 0.024248, -0.875181, -0.044103, 14.767292, -30.602322, -144.506851);
AddCameraShot(0.999914, -0.012495, -0.004416, -0.000055, 1.143253, -33.602314, -76.884430);
AddCameraShot(0.839161, 0.012048, -0.543698, 0.007806, 19.152437, -49.802273, 24.337317);
AddCameraShot(0.467324, 0.006709, -0.883972, 0.012691, 11.825212, -49.802273, -7.000720);
AddCameraShot(0.861797, 0.001786, -0.507253, 0.001051, -11.986043, -59.702248, 23.263165);
AddCameraShot(0.628546, -0.042609, -0.774831, -0.052525, 20.429928, -48.302277, 9.771714);
AddCameraShot(0.765213, -0.051873, 0.640215, 0.043400, 57.692474, -48.302277, 16.540724);
AddCameraShot(0.264032, -0.015285, -0.962782, -0.055734, -16.681797, -42.902290, 129.553268);
AddCameraShot(-0.382320, 0.022132, -0.922222, -0.053386, 20.670977, -42.902290, 135.513001);
end
User avatar
jangoisbaddest
Lieutenant General
Lieutenant General
Posts: 661
Joined: Mon Feb 27, 2006 12:10 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: All Along The Watchtower

Re: Reasons why custom maps crash online

Post by jangoisbaddest »

I can't be too sure, but I seem to recall that having a bunch of errors (even Severity: 2 ones) can eventually cause a crash. Eliminating as many of these as you possibly can may make your map more stable. Also, perhaps you can try cutting the number of objects, AI, vehicles, etc. in your map and see if that helps.

Honestly, I don't know enough about multiplayer mechanics to be able to give you a difinitive answer, but I'm learning from experience that you can solve just about any technical problem without coming to this forum as long as you spend enough time experimenting and using the process of elimination. Believe in yourself!

Good luck! :)

P.S. If you are starting to bash your head against the wall, you can always post your error log for us to review. Whoever looks at it, the error log is your friend.
Xavious
Sith Master
Sith Master
Posts: 2783
Joined: Mon Jun 12, 2006 3:46 pm

Re: Reasons why custom maps crash online

Post by Xavious »

jangoisbaddest wrote:Also, perhaps you can try cutting the number of objects, AI, vehicles, etc. in your map and see if that helps.
I'm thinking it might be too many AI. As a test, try setting it at the default (32) and see if it still crashes for whoever joins.
User avatar
Teancum
Jedi Admin
Jedi Admin
Posts: 11080
Joined: Wed Sep 07, 2005 11:42 pm
Projects :: No Mod project currently.
Games I'm Playing :: Destiny
xbox live or psn: No gamertag set
Location: Indiana

Re: Reasons why custom maps crash online

Post by Teancum »

Maps can crash online for lots of reasons -- the best thing to do is go back through your map and eliminate every single error that you are able to.
Executer94
Major
Major
Posts: 504
Joined: Fri May 01, 2009 7:45 am
Location: Chalmuns Cantina

Re: Reasons why custom maps crash online

Post by Executer94 »

I'll do that

but at the moment i can't test it

I'll report after testing
thank you !
User avatar
Rends
Sith
Sith
Posts: 1278
Joined: Fri Oct 15, 2004 6:34 pm
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Germany
Contact:

Re: Reasons why custom maps crash online

Post by Rends »

wasn´t the ubermode with locals one reason for online crashs too?
Someone mentioned it in an other thread.
Xavious
Sith Master
Sith Master
Posts: 2783
Joined: Mon Jun 12, 2006 3:46 pm

Re: Reasons why custom maps crash online

Post by Xavious »

Rends wrote:wasn´t the ubermode with locals one reason for online crashs too?
Someone mentioned it in an other thread.
Just having uber mode enabled with locals won't cause a crash. If you hit 200 - 240 bots or so with all the units combined, that would most likely cause a problem.
FragMe!
Gametoast Staff
Gametoast Staff
Posts: 2244
Joined: Sat May 13, 2006 12:34 am
Projects :: Not sure keep changing my mind.
Games I'm Playing :: F1 and SWBF
xbox live or psn: No gamertag set
Location: Origin name GT_FragMe
Contact:

Re: Reasons why custom maps crash online

Post by FragMe! »

A couple of things to try, if it is easy enough try removing the custom turret side. If they are on a separate layer just copy the lyr file for that layer somewhere else safe, remove the turrets or replace them with stock ones. If they are on the base layer then do the same thing but copy the wld file instead. Remeber to remove the reference to the custom turrets from the lua.
Try that and see if it is better, if not then just copy back the lyr or wld file overwriting when asked. Open ZE and make sure the turrets are back in place, save and remunge remembering to put the turret line back in the lua. If they don't show up in game then do a clean and remunge.

If that doesn't make a difference then it may be an object count thing, also do you have any water or effects in the map like smoke or fog?

Other question and BFII is wierd this way sometimes, can they play the map online if they use a brand new profile, no awards?
Post Reply