Jump to content

RimBlock

Member
  • Posts

    1140
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by RimBlock

  1. Not at my own MySQL db so only writing pesudo sql (i.e. not actual runnable code but more logical text).

     

    Deleting old characters;

     

    Problem: Needing to housekeep the Character_Data table and remove all alive=0 characters where the player has respawned

     

    Solution: Delete all but the newest entry for each UID.  Could be setup as an event for the MySQL schedular.

     

    delete characters where generation < (max(generation) where UIDs match)

     

    Downside: Does not clean out character_data for players who leave the server and don't come back.  A clause to delete if last_login > 30 days (or more) could also be added.

     

    Destroyed vehicles.

     

    Problem: Destroyed vehicles loose all loot - A hacker destroyed vehicle would be hard to recover with its loot (DB restore or scanning through backup sql to last recorded details).

     

    Solution: Create a trigger on the object table to copy a vehicles data from the object table when an update occurs to the object_data table and the update sets damage =1 and the object has loot.

     

    This would allow the vehicle to be rolled back from the backup table the trigger saves a pre-update copy of the vehicel data too.

     

    The update table would need to be housekept or it will keep on growing though.

     

    Downside: Triggers will potentially have an affect on updates to the object_data table depending on server specs and object_data being updated at any particular time.

     

    RB

     

    Update:

    Potentially you could also transfer all your buildables to the new spawns ownership with sql like this as well although I guess it would only work after a server reboot re-reads the DB.

     

    All code is tested on my own server.  I would advise testing yourself before using it on a live server.  Use at your own risk.

     

    Cleardown all but the last login for each PlayerUID in the Player_Login table.

     

    DROP TABLE IF EXISTS `temp_table`;
     
    CREATE TEMPORARY TABLE IF NOT EXISTS temp_table AS 
     (select playerUID, max(loginID) as "LoginID"
    from Player_login 
    where action = 0
    group by PlayerUID);
     
    delete from Player_login 
    where LoginID < (select temp_table.LoginID from temp_table where temp_table.PlayerUID = Player_login.PlayerUID);

     

     

    What it does:
    It puts the max loginid for logins (action = 0) for each playerUID in to a temp table and then deletes all entries in the player_login table that have a PlayerUID matching the entry in the temp table and a loginid less than the max loginid for that playeruid in the temp table.
     
    More to come.
  2. Guess it depends on your server setup as AFAIK Epoch does not have an inbuilt database backup feature (could be wrong though).

     

    If you are paying for a hosted service then go and speak to them.

     

    I backup my DB vi SQL Dump shceduled by SM Scheduler and can just change that schedule to whatever I like (currently every 15 min held for 2 weeks).

     

    RB

  3. I would tend to agree with the OP but only for vehicles you bought or have driven.  I have 10 or so keys, mainly for bikes I have bought after finding and selling a car.  I would rather not have to resort to pen and paper to make a note of which key belongs to which vehicle.

     

    Being able to right click on the key to bring up a brief description of the vehicle (i.e. "Blue SUV") would be great.

     

    This may be problematic with the only ownership of a vehicle being tied to the key and who possesses it rather than who bought it.

     

    Alternatively the "make" of the vehicle as most keys / key fobs have the car brand on them.  That should not be too difficult although my scripting knowledge is currently minimal.

     

    RB

  4. Navicat or Heidisql

    http://www.navicat.com/ Trial Version

    http://www.heidisql.com/ Free

    You need your database login details to use these.

    Only other option is

    you need database login details and some webspace for this. This is far easier to use and has a better gui, plus theres other stuff you can do with it.

     

    MySQL Workbench can be installed as part of the MySQL install and is pretty easy to use.  It has server control (On/Off etc), Server config option editing (move your datadir etc), User administration, SQL editor, can be used remotely with DB connection details etc and is free.

     

    I use DB Artisan and Toad at work and am more than happy to us MySQL Workbench at home.

     

    RB

  5. Would be great to get this download link fixed.

     

    Have been thinking about coding the same sort of thing although with multiple clients centered around the map with varying densities of spawns.  Would like to know what sort of volumes each client can handle.

     

    The original post also mentions multiple headless clients.  Is there a way to get multiple clients working on a dedicated host (i.e. multiple legitimate CD keys).  Not sure when the key check occurs or if it could be rotated in the registery as a new client is brought online.

     

    Ideally a startup option to provide the key as a parameter would be a nice and fairly easy solution if BIS were to be so kind to us server operators.

     

    One of the biggest issues with the DayZ mod and mods with the same base is the ease players can be tracked based on zombies spawned in by them.  This may be able to help with that although, I suspect, not with a zombie train chasing someone ;) .

     

    Thanks

    RB

  6. Thanks for the guide, it made things pretty quick when the drive in my own server failed.

     

    A couple of notes on installing to a dedicated server (bare metal or VM).

    • Server OSs do not usually come with DirectX installed so this will also need to be installed.
    • Battleye client install will need to be run for both ArmA 2 and OA.
    • Extracting the Epoch_server_files archive directly in to the EpochServer directory (the one created in step 1) puts the keys, dlls etc all in the right place.  You then just have to copy the map folder and bat file to the EpochServer directory and edit the server map dir / config files and you are good to go.

     

    It is also best practice to add a dedicated MySQL localhost account with only access to the dayz_epoch schema.  If someone gets access to your server, they can only affect that schema if they dig the login info out of the config files. 

     

    RB

  7. Hi all,

     

    Two bugs I have come across in the latest vanilla Epoch (as of the current date), no additional scripts at all;

    1. The MP5 Silenced (SD) will not allow me to view down the sights making the gun pretty useless unless you want to do some 'spray and pray' type gaming with mags costing 4x 10oz silver.
    2. A number of vehicles came up with the 'remove injured from vehicle' (wording based on memory) option.  I actually tried it yesterday and found my player in a coma on the floor by the vehicle.  luckily I had another player with me and they were able to grab an epi pen from my bag and it revived me.

    Other very annoying issue, although not sure if it is a bug or 'by design', there is nothing stopping zombie attacks in the trader areas.  How about some sort of zombie restriction or at least a couple of guards ?.

     

    Last thing is that the volume of the sound effects seems to go down over time and it affects both of the players on the server equally (lan server, only two players at present).  I had been playing all day and it had got to the point that I cannot hear zombies at all.  When the other player joined the same was true for them from the start.  I had used [alt] + [tab] a few times on my client throughout the day which seems to affect it.  Changing the volume sliders in the options made no difference.  The mucis seems to stay more or less the same volume though, it is really just the sound effects.

     

    Known issues / need any more info ?.

     

    RB

  8. Would it be possible to script it so a trader could provide a vehicle refueling service from their trader menu ?.

     

    I am thinking;

    1. Player dirves car to designated area.
    2. Trigger fires and runs script to assess cars current fuel and how much would be needed to fully refuel.
    3. Player enters traders menu.
    4. Trader script works out cost of refueling (fuel needed 8 fuel price per unit).
    5. Trader menu displays price
    6. Player accepts & pays.
    7. Trader script enables fuel pump.
    8. Trader moves via waypoints to fuel pump and refuels car.
    9. Trader script disables fuel pump.
    10. Trader returns to original position.
    11. Player drives away.

     

    Is there anything that currently does this and more importantly, is there any way to enable / disable the pump from player use to stop someone just driving up and filling up themselves ?.

     

    RB

  9. Found the .spf off the root of the github and have managed to get the traders on the map.

     

    The ARMA II map editor is pretty easy to use and I am almost finished with an initial first cut.

     

    I scaled down dramatically and half of the top area of the farm where the trading post is located has now had a wall built around, the traders are spread out a bit more, there are 3 guard towers and a couple of entry points.  Just have to fine tune the walls and I am more or less all done with that area.

     

    Now I have to work out how to place the guards and get them to stay where they are and shoot zombies or to patrol and shoot zombies.

     

    I discovered the helpful links thread here.  Still have to go through it though.

     

    RB

  10. Ok, Found the editor, pretty easy to use ( [left ALT] + [E] at the menu screen ) but am having issues getting the traders to show up.

     

    This guide talks about downloading the mission.biedel  from the GitHub and placing it with the mission.sqf in the local custom maps folder.  I downloaded the mission.biedel  file but cannot for the life of me find a misson.sqf file (only mission.sqm) on the server or client.

     

    Anyone know the solution to this issue.

     

    Thanks

     

     

  11. Hi,

     

    I have recently setup a vanilla Lan only Epoch server and am getting to grips with the game.

     

    Give or take a few bugs, there is only a couple of issues I would like to get sorted out for now.

     

    1. Zombies able to attack whilst trading.

    Detail:  I have had zombies kill me in Stary whilst I am trading in the 'official' gun traders tent.  It is hard to sell vehicles if the zombies chase you to the vehicle seller and then camp outside your vehicle waiting for you to get out.

    Solution:

    Best case:

    • Whole farm becomes a safe zone.  
    • Sandbag perimeter (or some way to block the holes in the perimeter).
    • No zombie spawn or item spawn in that area. 
    • Ai guards at the gates & lookout posts mainly to stop zombie incursion. 
    • Roaming Ai patrol in the farm area only.

     

    Minimum:

    • No zombies able to come within 20m of any traders.

     

    2.  Aircraft Spawns

    Detail: Aircraft, especially planes, spawning in silly places (i.e. forests).

    Solution:

    Best case:

    Aircraft (plane) spawns limited to airfields, large fields or specific roads.

    Helicopter spawns seem to be fairly ok at the moment (did find two Chinooks in a single field on time though).

     

    Minimum:

    Remove planes as objects (presumably just removing the items from the object_data table in the DB should do this ?).

     

    If someone can suggest a mod / mods that would be able to sort this items out or provide code / direction etc then that would be great.

     

    Links to a good guide or site with details on the mod packing / unpacking process, reference to the scripting language and guides for writing scripts would also be great. I do have a DB and UNIX shell scripting background but need to build up a foundation for modding and how the Arma II scripting works.  I did find a great post somewhere with lots of links to script language reference and the like but have since lost it.

     

    Thanks

     

     

     

     

     

  12. Thanks for replying.

     

    I have seen mention of An Epoch server being able to utilise a second core for AI and also someone else mentioning that you can put a (-cpuCount=1) in the startup batch file to tell it to use more cores (from the guide to installing thread by Indiculous ).

     

    What does this flag actually affect ?.

     

    I finally got a test server working last night on dual L5520s, 7.2k hdd and 16GB ram.  It ran fine with just me on it ;)  but that was more to get the software install process worked out.

     

    RB

  13. Hi,

     

    I am currently spec'ing up the hardware for an Epoch server.

     

    It will be Intel 55xx/56xx processor based (HP DL380 G6 I already have knocking around).

     

    What is the max cores / threads ARMA II / Epoch can utilize ?.

     

    I am looking at either dual X5570s (4 core) or X5650s (6 core).

     

    More slightly slower cores or less faster cores ?.

     

    From reading here I see someone mentioned that server instances are limited to 2GB ram, so ram is not really an issue in the server spec.

     

    For storage,  What sort of size does the DB storage need and what sort of growth rate are people seeing ?.

     

    Anyone running MySQL on a ram disk ?.  The server will take 48GB ram pretty cheaply so have 12GB for OS and application and 30GB as ramdisk with master slave replication to a second MySQL instance on a fast SSD array may be interesting.  UPS will be a must.

     

    I am potentially looking at putting in a 1Gbit fibre connection so that will cover connectivity.

     

    Any other advice / suggestions ?.

     

    Thanks

×
×
  • Create New...