Jump to content

Sandbird

Member
  • Posts

    1045
  • Joined

  • Last visited

  • Days Won

    16

Posts posted by Sandbird

  1. @Sandbird: did you have a look at your code for unwanted/unneeded rows where objects are processed? I know from all the posts that your server is highly modified ,)

     

    yeah, well the server_monitor is the most dangerous file for that job...and besides the vector hack for buildings and the color for vehicles, the rest is vanilla.

    It cant be that...cause i tried the same files with vanilla and it did the same thing.

     

    I just tweaked the sql server settings and i'll do a restart soon...see how it goes...but the thing is in 1.0.4.2 i never played with these and i had almost the same stuff in the server files..and like i said a crapier pc and it was fine

     

    It cant be the HD cause its a raid hd (not an ssd) but still its better than my old HD....

    And it cant be the network...cause ofc its better again than the old one i had...better pings and everything.

  2. Is your database on your root drive with your server? SSD? That seems just like a really long time. My old server would take like 2-3 minutes to load 10000 objects. What my.ini options are you using?

     

    Yeah root drive, Its not SSD unfortunately.

    Its this one here: http://www.hetzner.de/hosting/produkte_rootserver/px60

     

    And this is the my.ini

    [client]
    port=xxxxxx  <--just hidden
    [mysql]
    default-character-set=utf8
    [mysqld]
    
    port=xxxxxx
    basedir="C:/Program Files/MySQL/MySQL Server 5.5/"
    #Path to the database root
    datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
    character-set-server=utf8
    
    # The default storage engine that will be used when create new tables when
    default-storage-engine=INNODB
    
    # Set the SQL mode to strict
    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    
    max_connections=100
    query_cache_size=0
    table_cache=256
    tmp_table_size=205M
    thread_cache_size=8
    myisam_max_sort_file_size=100G
    myisam_sort_buffer_size=410M
    key_buffer_size=354M
    read_buffer_size=256K
    read_rnd_buffer_size=512K
    sort_buffer_size=512K
    innodb_additional_mem_pool_size=15M
    innodb_flush_log_at_trx_commit=1
    innodb_log_buffer_size=7M
    innodb_buffer_pool_size=686M
    innodb_log_file_size=343M
    innodb_thread_concurrency=18
    event_scheduler=ON
    

    and basic.cfg:

    language="English";
    MinBandwidth=1097152;
    MaxBandwidth=2147483647;
    MinErrorToSendNear=0.039999992;
    MinErrorToSend=0.0029999993;
    MaxCustomFileSize=0;
    serverLongitude=9;
    serverLatitude=51;
    serverLongitudeAuto=9;
    serverLatitudeAuto=51;
    Windowed=0;
    adapter=-1;
    3D_Performance=1;
    Resolution_Bpp=32;
    Resolution_W=800;
    Resolution_H=600;
    

    Also removed the camoro, canovo, mavado whatever the name is of that police car, and i've made sure i dont have and pook helis (the busted one).

  3. I have a few scripts and 5000-6000 items in db. Around 3-4 mins restarts. Are you sure you have a recent infistar version? THere was a version that caused this revent y.

    using the ........4IAHAT338

     

    9000 objects is not a problem for the db but for loading all of these at once at startup is ;)

    With this high number of objects you could check if there is a loop within a loop somewhere or something (for something you have added maybe). But I expect that loading 9000 objects takes long yes.

    15 objects per second to process 9000 in 10 minutes. That takes long if data is not buffered or something. Are the objects loaded row by row, I don't know.

    For the linux serrver that would be a problem also as we need files for each object to load the data from the db into the game.

     

    Its really weird...i tried this with vanilla files cause everyone was saying, its the mission file size, its the scripts, etc.

    So its definitely not that.

    Yeah they load row by row from what i see in the system_monitor.

    First it checks how many objects are in the db, then in a for loop it separates each row it takes from the db to buildings and vehicles and then based on the array it either spawns a vehicle or a building.

    THAT takes a long time. And from what i noticed its incrementally more slow after 5500 objects. The closer your are getting to 9000 spawns, the longer it takes.

     

    Do you have any SQL events to removed useless objects?

     

    Yeah, i remove dead characters, decade buildings, etc etc...all the normal events.

    Yesterday we had 10k objects and today 8900.

  4. I got 9000 objects in the database...and with vanilla files, it takes about 10 min for the server to load after a restart....I am not even talking about custom files now.....simple vanilla files...not even a loading screen ffs.

    10 min !!!!!!! on a Xeon machine, with mysql server 5.5, and 32 gib ram ?  Are you kidding me ?

     

    1.0.4.2 was 10 times better than this version of epoch.

    We had 20k objects in the db, a crappier PC and everything loaded up faster.

     

    Anyone else noticing this ? Do i have to start deleting bases? No salvation ?

     

  5. Very interesting.

    • You could do a getIn/hit eventHandler on vehicles that starts enableSimulation as soon as someone gets in them or when it gets hit (possibly disable it again as soon as they get out again).
    • You could spawn in all epoch objects (e.g. safes / doors etc.) with enableSimulation false and only enable it when a player is in the area and speed is below a certain amount (possibly disable it again as soon as they get out of the area).

    On estimate i think that on a server cycle max 10% of the objects spawned are actually used by players online. That would mean a huge FPS boost

     

    Taken from the arma page about enableSimulation:

    • Units that have been previously subjected to enableSimulation false; or enableSimulationGlobal false; may stay unrecognised for a long time even after simulation was re-enabled, returning objNull as cursorTarget. Force revealing units with reveal command usually solves the problem. For example: {player reveal _x} forEach allUnits;

     

     

    And a question....I kinda got lost in thinking about this........How 'bad' is it to NOT spawn any objects on the server for a specific classname...

    Like for example not to create locally for the server for all cinder walls....but do send it in the localbobjects array for the clients to spawn it.

    I mean ...besides AI Bots....how 'bad' is it for the server NOT knowing that there is an object there.

    What if the player decides to delete it....will all hell break lose on the server ?

  6. We hit 10k today, and i wanted to try this but something must have gone wrong cause although in the test server i was able to load in, in 1-2 minutes.....(with the live db on it)on the live server it was as if it was streaming objects 1 by 1 and we all had to wait for everyone else to load that object first before moving to the next one....

    It was really weird....i mean 40 min to load 10k oO.......

     

    but then again...i was all alone in the test server...while on the live one 20 people tried to log in at the same time

  7. I use this to clear dead characters (once in a week)

    DELETE FROM `character_data`
    USING character_data, character_data AS tmpcharacter_data
    WHERE NOT character_data.CharacterID=tmpcharacter_data.CharacterID
    AND character_data.CharacterID<tmpcharacter_data.CharacterID
    AND (character_data.PlayerUID=tmpcharacter_data.PlayerUID)
    

    It basically leaves the players that havent spawned back...so to be safe it will copy their stats to the new character when they make one.....so even if they are dead....and no alive character...that will be spared from the deletion.

     

    Then i run this once a day:

    DELETE FROM `character_data` WHERE `Worldspace` LIKE '[]' AND `Medical` LIKE '[]'
    

    Left over from 1.0.4.2 where some times players would bug out and spawn as seaguls or something....just to delete garbage

  8.  

     

    I am sorry,..i thought at 2 in the morning i could just write code without mistakes...my bad...so i doubled checked....actually this is what i have in my code....i made a mistake typing it...i should have copy/pasted it.

    private ["_player","_zOffset","_pos","_veh"];
    _player = _this select 0;
    _pos = getpos _player;
    _zOffset = 3;
    
    _veh = createVehicle ["Sign_arrow_down_large_EP1", _pos, [], 0, "CAN_COLLIDE"];
    _veh setPos [(getPos _veh select 0), (getPos _veh select 1), (getPos _veh select 2) + _zOffset];
    
    

    which is basically what you got there.

     

    The funny thing is that the above works fine in the editor (in my 3d.live.mission) cause well....the dayz_server and dayz_client is the same machine.

    But once i put this in the real server....it must be spawning....its just that I (as a client) dont see it....but it must be spawning for the server...its as if it spawned with createvehiclelocal or something.

     

    ps: notice my first post? Do i have to do it in both setVehicleInit and under it as well? I was never sure about this....just ....like ever

  9. I am trying to initialize a trader inside the dayz_server\missions\DayZ_Epoch_13.Tavi\mission.sqf to execute a script.

    But no matter what i try in game i dont see the things that are executed.

     

    For example:

    	_unit_100000 = objNull;
    	if (true) then
    	{
    		_this = createAgent ["Citizen1", [1009.66,18247.7,0.00211143], [], 0, "CAN_COLLIDE"];
    		_unit_100000 = _this;
    		_this setDir 270;
    		_this setVehicleInit "this allowDammage false; this disableAI 'FSM'; this disableAI 'MOVE'; this disableAI 'AUTOTARGET'; this disableAI 'TARGET'; this setBehaviour 'CARELESS'; this forceSpeed 0; [this] spawn arrowAbove;";
            	_this setUnitAbility 0.60000002;
                    [_this] spawn arrowAbove;
    		_this allowDammage false; _this disableAI 'FSM'; _this disableAI 'MOVE'; _this disableAI 'AUTOTARGET'; _this disableAI 'TARGET'; _this setBehaviour 'CARELESS'; _this forceSpeed 0;_this enableSimulation false;
    	};
    

    Notice the [_this] spawn arrowAbove;  and [this] spawn arrowAbove;

     

    Now i have a function which i shared for both client and server (cause i was frustrated since nothing worked) and inside the function arrowAbove i got:

    arrowAbove = {
        private ["_player","_zOffset","_pos","_veh"];
        _player = _this select 0;
        _pos = getposATL _player;
        _zOffset = 3;
        _veh = createVehicle ["Sign_arrow_down_large_EP1", _pos, [], 0, "CAN_COLLIDE"];
        _veh setPos [(_veh select 0),(_veh select 1), (_veh select 2)+_zOffset];
    };

    But when i get ingame i dont see anything above the trader.

    If i diag_log the values they are all correct though.

     

    What is going on ?

    I even tried to have the above code in a script (without the value and brackets ofc) and just do this instead:

    [_this] execVM "\z\addons\dayz_server\custom\arrowAbove.sqf";

    Nothing worked...I dont see anything :blink:

  10. nice post ebay, and yeah i think the purpose of this was for buildings that are indestructible, not for normal epoch (wooden) ones. For example i have cinder walls etc indestructible in the server...they are about 4000 objects in the database...Since upgrading and downgrading them will delete the object locally and create a new one on the server, on next restart they will be local again for each player.

    -4000 object is a lot !! Plus the trader city objects....thats like 5000 less objects spawning on the map for the server. I havent tested it yet on the real server, but on my crappy Quad Core, and only me online....i had (as a client) 30-40fps, and the server was around 22-30 fps....with 9450 objects in the database and all my scripts in the 2.5mb misson file :P

    I dont know...but i think thats a lot of FPS....we'll see when i turn this over to the live server.

  11. Okay thanks! I was just so confused as to why this wouldn't work for me but it works for everyone else?! like I'm literally using the same files as everyone else but it just won't work for me for some reason. I'd assume vkc_ownerID is being defined in the files provided since no one else was having this problem except a few people.

     

    That script was released before the latest ArmaOA patch that screwed things up with variables.

    Now any 'missed' variable declared will throw errors like this.

    All you have to do 99% of the time is make sure s_player actions are defined as -1 in the variables.sqf and that on top of the file the private declaration is correct with all the values used in that script file.

    Sometimes you declare another private inside a while loop or something....squint should be able to pick those up as well and correct them if you are missing any...but sometimes it screws up and add the variable from inside the while function at the top of the file..which is wrong.

    Its a really helpful program....you just have to pay a little attention to what it 'suggest' you should do.

  12. s_player_claimkey value and basically any addaction value like this have to be initialized in variables.sqf

    In that file search for any -1;  and you'll find the location at no time...its a whole bunch of them

     

    For vkc_ownerID, i am guessing you are not assigning a value to it before using it.

    There should be something like

     

    vkc_ownerID = _vehicle getplayerUID or something similar above ?!?

     

    The best tool that can errors in a script is : http://www.armaholic.com/page.php?id=11817   this.

    Especially for assigning the private [""]; declaration at the top of every file.

    Copy past your script in there..it usually produces a 99% accurate private (fix) declaration

  13. I've used PHT in the past on a hosted server and I'm trying to get it running on a dedicated box now. I keep getting this error when trying to rename the tables and don't know what to do to fix it. Any help would be appreciated.

     

    SQL query:

    RENAME TABLE `character_data` TO `Character_DATA`
    

    MySQL said: dot.gif

    #1050 - Table 'character_data' already exists

     

    What do I need to do to allow the table to be renamed as required.

     

    Thanks for thise great resource.

     

    -CJ-

     

    The name doesnt really matter...dont worry about it...

    If you really wanna fix it though, then browse that table and then do 'Export', and also select the drop database option.

    It will give you a file with an .sql extension. Open it with notepad++ then edit the character_data to the name you want...and then hit the Import button to put the table back with the new name.

    It will drop the old table and create a new with your chosen name, then insert back the data.

  14. Interesting... I've been missing the ; after @DayZ_Epoch_Server forever with no problems.  I added it and saw no difference whatsoever.  I've posted both my client-side and server-side .rpt.   These are immediately after joining the server but not doing anything besides having a few zombies spawn in.

    Bob

     

    I think there is something wrong with your mission.sqm, where you add the addons etc. You might have the morano addon twice for starters.

    Here are my addons, to compare it with. I also have an overpoch server

    class Mission
    {
    	addOns[]=
    	{
    		"tavi",
    		"ca_modules_animals",
    		"dayz_anim",
    		"dayz_code",
    		"dayz_communityassets",
    		"dayz_weapons",
    		"dayz_equip",
    		"dayz_epoch",
    		"dayz_vehicles",
    		"cacharacters_pmc",
    		"ca_modules_functions",
    		"glt_m300t",
    		"pook_h13",
    		"csj_gyroac",
    		"map_eu",
    		"jetskiyanahuiaddon",
    		"ori_flying_fortress",
    		"ori_pragacopter",
    		"origins_pack_cars",
    		"ori_scraptank",
    		"ori_bigraft",
    		"ori_smallraft",
    		"ori_titanic",
    		"ori_scrapbuggy",
    		"ori_vil_pack",
    		"vil_ori_autogyro",
    		"ori_dc3",
    		"ori_submarine",
    		"base_buildings",
    		"warehouse",
    		"mbg_buildings_3",
    		"mbg_killhouses",
    		"warfarebuildings",
    		"aif_arma1buildings",
    		"mbg_african_buildings",
    		"gms_k98",
    		"RH_m14",
    		"FHQ_Remington",
    		"FHQ_Remington_ammo",
    		"FHQ_Remington_msr",
    		"FHQ_Remington_xm2010",
    		"FHQ_Remington_acr",
    		"FHQ_Remington_rsass",
    		"VILAS_WWP",
    		"VILAS_RW_Forces",
    		"VILAS_WWP_CO",
    		"VILAS_RW_Forces_CO",
    		"ddopp_taserpack",
    		"smk_anims_lite",
    		"MicroAirVehicles",
    		"oz_is_objects",
    		"gsc_units_stalker_patch",
    		"american_law_enforcement",
    		"CYBP_Camels_Config",
    		"nissan_350z",
    		"ussr_cheytac"
    	};
    	addOnsAuto[]=
    	{
    		"dayz_weapons",
    		"ca_modules_functions",
    		"warfarebuildings",
    		"tavi",
    		"origins_pack_cars",
    		"ori_vil_pack",
    		"ori_submarine",
    		"ori_flying_fortress"		
    	};
    

    ps: i removed the morano addon since i read it can cause lags the actual vehicle in the game. Replaced all vehicles in the database to something else as well.

    As you can see i've added the ori_submarine and flying fortress there. That wont make them 'visible' in admin tools....but spawnable on the map.

     

    ps2: you see the the warfarebuildings in addOnsAuto ? It caused me similar errors like yours when i didnt add that there....Maybe you are using some vehicles that need the parent addon to work..I suggest you start your server with my addons...and see from the what type of errors you got.

    I am pretty sure i got everything covered, so hopefully it will do for yours as well.

    Pay attention to the brackets in your copy/pastes...

  15. Have you or anyone ever seen this before and if so, where would it be?  I'm guessing somewhere in an Origins-related PBO or there'd be many more posts about it.  So far, I've been concentrating on other more functional errors and warnings and adding new scripts.  I wasn't the one that set it up with the three mods but have assumed the role of primary scripter for now and those unknown entities have been there as long as I've been around this server.

     

    Thanks,

    Bob

     

     

    but a full RPT log would be better

     

    here you go :)

×
×
  • Create New...