Jump to content
skruis

Athena - An ARMA 2nd Screen Application

Recommended Posts

As in they're using your computer as a webserver in order to run the apps on their own computers ... across the Internet? How well does that work?

Share this post


Link to post
Share on other sites
11 minutes ago, Tankbuster said:

Sort of. I'm running the mod, 2 are connecting to my client

Also, we're less and less sober as the evening progresses

 

  • Like 1

Share this post


Link to post
Share on other sites
12 minutes ago, skruis said:

As in they're using your computer as a webserver in order to run the apps on their own computers ... across the Internet? How well does that work?

It's fine. It's across the LAN rather than the WAN, but it's working OK. Firecode is messing with an old android tablet as we speak, tyring to get it on

 

Share this post


Link to post
Share on other sites

Depending on the age of the tablet and it's OS, it may not work. Web standards have been in flux. The signalR component may not work on it. Let me know.

Share this post


Link to post
Share on other sites
4 minutes ago, skruis said:

Depending on the age of the tablet and it's OS, it may not work. Web standards have been in flux. The signalR component may not work on it. Let me know.

It's Android 6, we rooted it, @Fire_Codeis still toying with it

Share this post


Link to post
Share on other sites
30 minutes ago, skruis said:

Depending on the age of the tablet and it's OS, it may not work. Web standards have been in flux. The signalR component may not work on it. Let me know.

Even rooted, the Lenovo A10-70 Android 6 is too slow. We might try to ram a lightweight Linux on it. Forecode is enjoying the challenge. 🙂

Share this post


Link to post
Share on other sites
3 hours ago, skruis said:

Depending on the age of the tablet and it's OS, it may not work. Web standards have been in flux. The signalR component may not work on it. Let me know.

 

Hi Skruis,

 

I've been following this thread with great interest. The progress you've made in the rewrite is fantastic. I was searching for something like this and stumbled upon this thread.

 

Are you open to collaborative work at all? I'd love to help out where I can. 

 

My friend group has a person who doesn't game and just watches, I'd love if he could be an "overwatch" of sorts and guide AI with the Athena map. Almost zeus-like, but without needing the game.

 

Keep up the great work!

 

My discord is Orion#7185

Share this post


Link to post
Share on other sites

Thanks Shadow!

 

It depends on the type of collaboration. I always welcome suggestions and feedback. As far as code sharing, the bulk of the app is sqf or js/html so its not exactly closed but Im not officially going to host a repo or anything.
 

Re: the AI command, I do plan on having something similar later in an Athena related project. That might be a feature that could be introduced but it would have to be restricted through a reimagined community server for security reasons. Not sure if you’re familiar with that but in the workshop distributed version, theres a sever component used to share ink. This could be a feature integrated into the new version of the ACS and that would give communities control over what users have this kind of access.


The SQF for it would be rolled into a different addon, like @athenaacs, and then server admins could allow @athena without implicitly allowing the possibility of remote AI control since that is a distinct feature from rendering a copy of the map the player already has … most likely. 
 

But thats a ways off.

Share this post


Link to post
Share on other sites
9 hours ago, shadowfita said:

 

My friend group has a person who doesn't game and just watches, I'd love if he could be an "overwatch" of sorts and guide AI with the Athena map. Almost zeus-like, but without needing the game.

It occurs to me this would be a great tool for Zeus'. Having a wider overview of the map and units could be useful.

Share this post


Link to post
Share on other sites
8 hours ago, skruis said:

 Not sure if you’re familiar with that but in the workshop distributed version, theres a sever component used to share ink. This could be a feature integrated into the new version of the ACS and that would give communities control over what users have this kind of access.


The SQF for it would be rolled into a different addon, like @athenaacs, and then server admins could allow @athena without implicitly allowing the possibility of remote AI control since that is a distinct feature from rendering a copy of the map the player already has … most likely. 

 

Which leads me to ask; Could this be a server side thing, so the browsers connect to the game server rather than a client? I realise this would mean some funky port forwarding and similiar issues, but I reckon that's well within the capabilites of most server admins.

Oh, forgot to mention, I'm still getting signature rejection. It's entirely possible it's something I'm doing wrong, so it'd be smashing if someone else could have a go at this too.

Share this post


Link to post
Share on other sites
2 hours ago, Tankbuster said:

Could this be a server side thing, so the browsers connect to the game server rather than a client?

Absolutely. Athena was a server side mod originally but it attracted zero attention. Much easier to get players to install it on their own than to rely on server admins. There are some assumptions in the current app about who the ‘player’ is that would have to be retooled but its entirely doable except…youre now running long running scripts on the server so thats a consideration. Marker visibility is also a problem. Only public channel markers would appear in athena because markers are only sent to the players in the target audience which makes sense from a security perspective but it is kind of annoying. In the end, nothing stopping a client from being an athena server which is what you did the other night. 

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, Tankbuster said:

It occurs to me this would be a great tool for Zeus'. Having a wider overview of the map and units could be useful.

That is also currently possible for a server admin/mission designer to do: expose both sides of the conflict to one or more players via those scope variables. If, via scripting, you set the value for 1 player to 16 (all) or 32 (leaders), they'll see units on both sides. I haven't tested it but I felt comfortable adding it because I figured, security wise, a mod would have to be whitelisted in order to be able to introduce a script that could modify the value. I should probably also add a listener to then compare the value to the allowed values but ... if you can change one, you can change both.

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, Tankbuster said:

Oh, forgot to mention, I'm still getting signature rejection. It's entirely possible it's something I'm doing wrong, so it'd be smashing if someone else could have a go at this too.

 There's a key in the keys folder in the zip. Have you added that key to your servers keys folder? I might be signing it wrong but I'm pretty sure that's all there is to it.

Share this post


Link to post
Share on other sites
6 hours ago, skruis said:

 There's a key in the keys folder in the zip. Have you added that key to your servers keys folder? I might be signing it wrong but I'm pretty sure that's all there is to it.

Yes, I moved the bikeys. It's not a real problem, my server is passworded so only my players get on and they know which addons to use.

Share this post


Link to post
Share on other sites

Added support for displaying units next waypoint.

 

AthenaWeb_20221114_waypoints.png

 

In desktop, I used dashed lines. In the web version, I'm adjusting the alpha/opacity. If you're further out than 1km, it's solid. Once closer than 1km, it starts fading until you're 250m out and then at that point, it remains at .25 opacity.

 

The things I want to include before I release this in the workshop (separate item listing) are:

 

1. Map locations

2. Map anchors (basically your own set of locations)

3. Map markers (possibly including the drawings)

4. Map grid

5. Misc ui fixes (start/stop, resize, etc.)

 

I'll add the following items later:

 

1. Orbat (unit list)

2. Hot keys (I think Arma exposed a key/action interface for mods)

3. Recording and playback

4. Map drawing

5. Community Server

 

Also, another user requested a plugin system.

 

  • Like 2

Share this post


Link to post
Share on other sites

If anyone is testing out the latest version, don't bother with the unit and group icon setups. I'm redoing that whole thing.

Share this post


Link to post
Share on other sites

Locations Image

 

Revised Vehicle Classes Management

 

Revised Weapon Classes Management

 

Library Files / Location

 

To start with, I've added support for drawing the 'name' and 'icon' type map locations as seen in the Locations image posted above. They counter scroll meaning their size stays the same as you zoom in/out. The font is Roboto Condensed? which is what Arma appears to be using. It's a google font so I've added a reference to the google font to the app. Additionally, most location icons have been added as well. There's a few I'm missing like side_AA (substituted side_unknown for now) and respawn_unknown (substituted respawn_inf for now). I must not have exported those graphics years back when I originally tried to implement them. The locations that are currently shown are terrain locations, not scripted. I'm not currently collecting locations created during the mission. I plan to add that support eventually, probably when I get to markers because the two are so closely related. I had to make changes to the formats of the locations which does affect the worlds. Because of this, you'll have to delete the worlds from the <UserProfile>\AppData\Roaming\Athena\Worlds folder and you'll have to remove them from the cache in the web app. Sorry.

 

I've revised the vehicle and weapon management screens. I wasn't a fan of the UI and the multistep process.

 

For vehicles, you select the category. This is based on the Editor Sub Category in Eden. When you select a category, the vehicles belonging to that category are displayed in the vehicle list. You can apply the textures to the category, as defaults for all vehicles in that category, by selecting the "Set default textures for category" option. You can override that if you select a vehicle and choose different textures. Again, these textures apply to the group icon above the leaders head and changes dynamically based on what vehicle the leader is occupying. The vehicle classes screen allows you to map vehicles to group textures. If the leader isn't in a vehicle, it uses the basic infantry group texture. I might, in the future, add the ability for the user to override the texture, during a mission, and set a specific texture for a particular group. Then it would ignore vehicle occupancy moving forward.

 

For weapons, you select the weapon slot, then then the weapon. I did not add a 'default' texture based on slot because ... there's not nearly as many secondary weapons as there are primary and most of the primary weapons correspond to the basic infantry unit icon. I might add support for GL or maybe AA icons ... I'm not sure if ARMA has one. For now, the only icons that matter in the weapon classes screen are: iconMan, iconAT, iconMG. These textures are used for the unit itself and change dynamically based on the following conditions:

 

1. Leader (iconLeader)

2. Medic (iconMedic)

3. Secondary Weapon -> Matches to weapon class -> unit texture

4. Primary Weapon -> Matches to weapon class -> unit texture

5. Default (iconMan)

 

The data for all of this is stored in the library files in <UserProfile>\AppData\Roaming\Athena\Library. 

 

1. locationClasses -> cfgLocationTypes

2. vehicleClassCategories -> I forget what config I pulled this from but the values are essentially EdSubCat_AAs and similar. The 'default' textures for the categories are stored here.

3. vehicleClasses -> cfgVehicles filtered using classes in vehicleClassCategories

4. weaponClasses -> cfgWeapons filtered using type (slots: 1 (primaryWeapon), 2 (handGun), 4 (secondaryWeapon))

 

You can theoretically modify these files manually so I've saved them in a human friendly format. These files will be generated automatically, if they dont exist, when the extension is started for the first time. After that, their contents are loaded into memory and then saved to disk when instructed to do so via changes in the web app. If you manually change these files while ARMA is running, you'll have to restart ARMA. I'll be including these files in the releases moving forward though.

 

There are some text encoding issues. I spent a little time trying to resolve them but I'm not sure if it's because I'm not writing a native c++ extension (c# .net 6) that perhaps the encoding isn't crossing over as expected. I spent some time on it but its low priority so I'm not going to spend much more time on it. You'll see some strange characters here and there in the classes and location names. It's a known issue.

 

 

  • Like 2

Share this post


Link to post
Share on other sites

I wasn't sure if I needed to so I exported all the maps again. I've not had an opportunity to test it in multiplayer with other players yet.
That android tablet I was talking about earlier - it's junk. I'm using borrowed iPads at the moment. All good.

Share this post


Link to post
Share on other sites
7 hours ago, Tankbuster said:

I wasn't sure if I needed to so I exported all the maps again. I've not had an opportunity to test it in multiplayer with other players yet.
That android tablet I was talking about earlier - it's junk. I'm using borrowed iPads at the moment. All good.

 

If it's one of those 8" tablets, they tend to be lower spec. I bought a couple of 8" Windows tablets to test out at a few clients and they worked but barely. Anything beyond browsing the web was just too much for them so I'm not surprised they couldn't run Athena.

 

You shouldn't have needed to dump the worlds for the version you were using but for this release, you'll have to. Speaking of which:

 

AthenaWeb_Alpha_20221120.zip

 

1. Adds support for terrain location types: icon, name.

2. Second attempt at an interface for assigning icons/textures to units and groups based on the vehicles they occupy and weapons they carry.

3. Deleting multiple worlds via the interface in the web app now also deletes the chunks for the world

4. Misc little fixes

 

Sorry for the delay in getting this update out. You'll need to delete the worlds (both in the app and in the <appdata\roaming\athena folder) and copy the included Library folder to your <appdata\roaming\athena folder.

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites

@Tankbuster Have you run into issues using it in multiplayer? I can't seem to start a mission with it enabled.

Share this post


Link to post
Share on other sites
39 minutes ago, skruis said:

@Tankbuster Have you run into issues using it in multiplayer? I can't seem to start a mission with it enabled.

I've joined an existing mission without issue, but Athena browser just gets a blank screen

*edit, blank screen fixed by refresh

Share this post


Link to post
Share on other sites

Hmm, ok. I was able to join a mission in progress as well but I had problems starting one. I'm testing on a new server I put up so I wasn't sure if it was the server or me. I'll investigate a bit further. Thanks!

Share this post


Link to post
Share on other sites
3 minutes ago, skruis said:

Hmm, ok. I was able to join a mission in progress as well but I had problems starting one. I'm testing on a new server I put up so I wasn't sure if it was the server or me. I'll investigate a bit further. Thanks!

Mission starting fine. No issues.

Share this post


Link to post
Share on other sites

Played a little arma last night, found a few bugs:

 

1. Icons for respawned units are not created at correct scale

2. Group icons are not reverting back to infantry after exiting vehicles

 

I'll try to have these fixed today. There might be some merit to storing a copy of the app on a central website so that people who are beta testing dont have to constantly reload the wwwroot folder. I'll look into it.

  • Like 1

Share this post


Link to post
Share on other sites

Just wanted to provide a bit of a status update. I'm in the middle of yanking the web app out of the bundled web server and will host it centrally. It will make deploying updates easier and make it easier for testers. After the next release, you'll only need to update if the @athenamod or its contents change and I might even just post it to workshop to make it even easier for you. Speaking of which, the web app should notify you and include a link to the latest version of the @athenamod when an update is released which also reminds me: I've also included an interface with version history/release notes. I should probably add links to the Workshop and this forum thread.

 

Other than that, the code base has gotten large and wild enough that a refactor was due so I'm going through it and cleaning it up. It's gotten to the point where things work, now I need to make them maintainable. Additionally, because the app is able to be opened without Arma running, it made sense to add the ability to load a world without being in a mission however you'll only be able to load worlds that already in your cache. I will not be providing world downloads myself but when the community server is released, much farther into the future, that will include the ability to share worlds.

 

As far as things I've fixed:

1. I've resolved issues with the group markers not changing correctly when existing/entering vehicles.

2. I've corrected issues with the waypoint markers not being removed correctly.

3. I've improved the group leader change mechanics so that the new group leader has the marker shown.

4. I've changed the tags mode to player + group leaders and enabled it by default.

5. I've resolved issues with sprite scaling for respawned units

6. I've resolved issued with tags not appearing for respawned units.

 

So work is still progressing. I keep going back and forth about the hassle of storing the libraries (locations, vehicles, weapons) client side. Its extra work but it'll make things easier. I'll rework that process ... again and I'll release the update after.

 

Oh, also, there will be another small change: a patreon link will be included in the app. Totally optional.

  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×