Coder Social home page Coder Social logo

alec-hs / flaxs-arma-server-tool-2 Goto Github PK

View Code? Open in Web Editor NEW
35.0 11.0 21.0 269 KB

Full rebuild of my tool for installing and updating Arma 3 server with built in features for managing Steam Workshop mods.

Home Page: https://forums.bohemia.net/forums/topic/220433-fast2-arma-server-and-steam-workshop-tool/

License: GNU General Public License v3.0

Visual Basic .NET 100.00%
arma3 steam-workshop steam-api arma-servers

flaxs-arma-server-tool-2's Introduction

Flax's Arma Server Tool 2 (FAST2)

GitHub BI Forums Discord

INTRO

FAST2 is an extensive rewrite of FAST. The UI needed updating and the code was messy and inefficient. This new and hopefully improved version has more features and better stability than FAST. As before I decided to build FAST to help automate and speed up the deployment of Arma 3 servers on Windows. Thanks go out to all the guys who helped test this version before release with special mentions to Kju and JamieKG for their continuous bug reports and testing. Also, to BI for giving us an awesome game to play with and break.


PREREQUISITES

  • Steam account with valid copy of Arma 3.
  • Basic understanding of Arma 3 dedicated servers.

DOWNLOAD LATEST VERSION

https://deploy.kestrelstudios.co.uk/updates/FAST2/FAST2-latest.zip

SETUP & INSTALLATION

Follow the instructions on the Wiki.


ISSUES & FEEDBACK

As always best place to report issues is on the GitHub Repo, as for general discussion I'll always keep an eye on this thread or come and join us in Discord.

DOCUMENTATION

Can be found on the FAST2 part of my site, here. This will be updated continuously as new features are added and others changed.


FEATURES

  • General Features

    • Theming System & Material Design
    • Auto Updates
    • Improved UI from FAST
    • Improved stability from FAST
    • Easy to read and share config files
  • SteamCMD Automation

    • Install and update Arma 3 Server (Stable & Dev)
    • Install, update and manage Arma 3 Workshop mods
    • Supports Steam Guard and Mobile Auth
    • Import mod presets from Arma 3 Launcher
    • Check for mod updates on app launch
  • Multiple Server Profiles

    • Save and load multiple server presets
    • Supports all server config options
    • Supports all server command line options
    • Custom mission params
    • Custom difficulty
    • Headless Client support & auto launch
    • Correctly displays mods in Server Browser
  • Local Mod Support

    • Reads local mods from server folder
    • Include additional folders to search

PLANNED FEATURES

  • Automatic Server Crash Handling (Auto-restart, reporting, etc.)
  • Detection of existing Steam Workshop Mods
  • Ability to clone server profiles
  • Export server profiles to .bat files
  • Set CPU Affinity and Priority
  • Schedule Auto Restart of servers
  • Schedule Auto Update of mods and server

GitHub BI Forums Discord

flaxs-arma-server-tool-2's People

Contributors

alec-hs avatar dahlgren avatar dependabot[bot] avatar tomtucka avatar wakeuphate avatar xaithe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flaxs-arma-server-tool-2's Issues

Ability to copy a profile

would be nice to have the ability to copy a existing profile as a lot of setting you would use between one and another would probably be the same

Thanks JamieKG

Rework Setup to Walk-Through

Change the single setup window to a walk-through wizard to help them understand what each item is for and how to setup the server.

Add and Update Missing/ Changed Server Params

Below are the params that need adding/ updating. Please comment with anymore as you find/ notice them.

TO DO

  • maxMem
  • cpuCount
  • filePatching - currently set twice in performance + scripting?

Server Profile After 1st Not saving

Created my first server profile and saved it. Restarted fast and it was listed under server profiles. Tried to create second profile but when reloading fast the 2nd server profile was not listed.

The folder and cfg files were created in the "Servers" folder.

Web API Errors on Tues Night

On a Tuesday night when Steam servers are down the API calls return a 500 error that causes the app to crash - add check to see if time matches steam maintenance and notify user.

Add Indication of Progress Of Checking For Updates

On the steam mods tab, there should be more visual indication of how far through the check the tool is. Showing the total number and the number of checks complete in the progress bar would be a good way to do this:

10/30 Mods Checked

Mods Marked as Up To Date if Update Cancelled

If the update mods process is cancelled before download of mos from Steam starts they still get marked as up to date. Need to add a check to see if update was cancelled before updating mod status.

Check if cancelled then check if download and mod folder in steamapps is empty

Hide CMD Windows for Symlinks

When the tool creates symlinks it currently shows a new cmd window for each mod that appears and almost instantly disappears. It would be good to get this completely hidden.

Edits to server profile not saving

After creating my first server profile I needed to make a change for the HC ip address. I made the change clicked on save and exited fast2.

When I restarted fast2 the server profile still had the original HC ip address and not the updated one.

Scheduled Auto Update Mods and Server

Allow users to set a time of day to check for updates to both server and mods and automatically update them all.

Each should be its own option and should support a daily or weekly check.

Mission Parameters For Each Mission

Re asking for this in Fast 2 as I asked in Fast 1
Is it possible in Fast2 to add Mission Parameters for each mission in the server config so the %Servername%_config.cfg could look like this ?

class Missions
{
	class MyMission1
	{
		template="MyMission.Altis"
		difficulty="custom";
		class Params
		{
			myParam1=0;
			myParam2=0;
			myParam3=0;
		};
	};
	class MyMission2
	{
		template="MyMission.Tanoa"
		difficulty="custom";
		class Params
		{
			myParam1=0;
			myParam2=0;
			myParam3=0;
		};
	};
};

Thanks for the Tool
Thanks JamieKG

Auto Update

Choose and add a package that allows auto updating of the application.

Filter SteamCMD Output

Remove any lines from from SteamCMD output that may confuse users. For example steam sometimes outputs lines that look like an error but are not and cause no issues to normal operation.

I.E:

  • \src\common\contentmanifest.cpp (650) : Assertion Failed: !m_bIsFinalized

Incorrect Status of Imported Mod

When importing a Steam a check should be run to see if local files exist and compare ACF last updated to last updated from Steam API. This will correct the status shown when a user imports a mod that is already installed on the disk.

Enabling Mods Not Working as Expected

Enabling mods in the Server Side Mods adds the mods to -Mods= and not -serverMods=
Enabling mods in the Client Side Mods has no affect to the startup command

Make Reset Values UI More Clear

Reset All Values on performance tab of Server Profiles does not clear values it resets them to BIS defaults. This needs to be more clear in the UI.

Change Web Crawl to API Call

Currently a lot of the Workshop Items info is grabbed from a crawl of the webpage. This is slow and inefficient. Need to replace these with calls to the Steam Web API. Example below:

https://api.steampowered.com/IPublishedFileService/GetDetails/v1?key=<STEAM_KEY>&format=json&publishedfileids%5B0%5D=<ITEM_ID>

Detection of Existing Steam Mods

Scan steamapps directory for existing steam mods and add them to tool. Possible method:

  1. Scan steamapps folder for numeric subfolder
  2. Check folders are not empty
  3. Add mod ID's using folder names
  4. Check ACF file to see if up to date
  5. Set update status

Server Crash Handling

Didnt find any info on this on the BIS forums, is there any server crash handling being built into this, meaning if the server crashes it will boot it back up via the server manager ? I saw you had some daily restart being built in.

Regards
Kenny

Server Config.cfg template = and difficulty =

template = "MissionName.sara.pbo" ( .pbo should be excluded from filename)

difficulty = "" (Being left blank even when difficulty reset is selected through drop down and save button clicked)

Custom Stream Reader Does Not Work With Steam Guard

Using the new custom stream reader to read output from steam does not account for the user having to enter their steam guard code. Currently after entering the code the output is longer shown in the UI.

Mod Download Output Formatting

When downloading steam mods the output from SteamCMD is formatted incorrectly. There is a missing newline char that needs to be added. In addition to this it only lists the mod that is being downloaded AFTER it has downloaded. Add some indication of a mod being downloaded.

  • Add extra newline char.
  • Add better indication of start of downloads.

Min & Max Bandwidth Wrong Units

Currently default values are way too low and do not match the units that are set in the config. They need changing to match BI standards.

Check for Update Clears Download Not Complete

Mods that are in the download not complete status currently get set to "Up To Date" if the Check for Updates feature is used. Need to make sure that the correct status persists.

Can't Create Profile Starting With Numbers

When using a number to start the name of a Server Profile it crashes the app. Suggestion is to add a control char to the start of safe name:

1 - Test Profile becomes _1_test_profile

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.