Community Application

It Does What It Says on the Tin: Resolved Issues

Moderators: Moderator, Quality Control, Developer, DM

Post Reply
User avatar
Aspect of Sorrow
Custom Content
Posts: 2633
Joined: Fri Mar 28, 2014 7:11 pm
Location: Reliquary

Community Application

Unread post by Aspect of Sorrow »

I've been tinkering with a small tool that I authored which originally used a simple Chrome browser to validate server / module HAK, TLK, mus directories and files to ensure they matched what the server had, providing links to download the individual file that needs changed.

Chrome is the only browser with this feature exposed to Javascript and the process still manual (browsing in each directory, select all, then it processes through the local browser against an xml table).

Too much work for the end user.

To simplify I've thought to author a small application on the user desktop that eases the functionality by automatically handling most tasks on the fly, including, if the server host is interested, to hook in with the custom content.

For example, the Aasimar heads becoming available. If new custom content like this becomes available and is published into the server upstream but not yet referenced in the module until module restart, those playing the game with this application running in the background would automatically have the content prior to the server restart. Those who have lives that are at work would also automatically have the content ready for them by the time they arrive home.

From there I've started to extend the feature set of the application to include more functionality, while maintaining as much simplicity as possible.
A screenshot of the application as it stands presently
Hidden: show
Image
Features
* Auto downloader of the latest BGTSCC custom content, irregardless if the game is on
* IRC live chat with other users, handy when the sever is down
* Automatic installation discovery, switching to manual if it cannot find it (registry set thereafter for future launches)

Planned
* Automatic symbolic linking for those using ramdisks (SoftPerfect, or /dev/shm) to increase disk access speeds from 500 Mbps (SSD) to 7,000+ Mbps if the ram capacity is avilable
* Latest forum post information for the general populace
* List of players online by GSID
* Toggling integration with the client extender, speedup GS auth failure if not
* Mobile native application (Android, iOS, Microsoft Phone)
* If the development team is willing, OnChat hooks from in game to function across this system with the users outside.

If there's more you'd like programmed in, certainly respond to this thread.
Last edited by Aspect of Sorrow on Mon Nov 23, 2015 4:23 pm, edited 1 time in total.
User avatar
Rasael
Retired Staff
Posts: 8096
Joined: Wed Jun 30, 2010 6:52 am
Location: Leiden, Netherlands

Re: Community Application

Unread post by Rasael »

Really cool :geek:
Eclypticon
Posts: 1009
Joined: Mon May 30, 2011 7:26 pm
Location: USA

Re: Community Application

Unread post by Eclypticon »

This sounds excellent.
Perfection
Posts: 29
Joined: Thu Oct 11, 2012 4:27 am
Location: Helmond, Netherlands, GMT+1(+2 DST)
Contact:

Re: Community Application

Unread post by Perfection »

Will this be open source?
Ty - Merchandise - Profile
Mutt - Merchandise- Profile
User avatar
Aspect of Sorrow
Custom Content
Posts: 2633
Joined: Fri Mar 28, 2014 7:11 pm
Location: Reliquary

Re: Community Application

Unread post by Aspect of Sorrow »

Perfection wrote:Will this be open source?
No plans at this time, given the nature of the system is being tailored to BGTSCC's environment.
Rasael wrote:Really cool :geek:
Thanks, due to seeing your signature, I've added launcher links to the wiki into the app.
User avatar
PaulImposteur
Retired Staff
Posts: 442
Joined: Thu Oct 13, 2011 10:33 pm
Location: Washington

Re: Community Application

Unread post by PaulImposteur »

A beautifully polished layout and background. Also something that would be very handy for the server. I used to use something similar when I hosted a JKA server, because that game had no auto-downloader. It was a great addition,and helped the community in submitting personal content and implementing them in the matter of a few minutes.
User Login: Spidertomb
Hurricane (Dumb Barbarian)
Jordan Steelsplitter (Shady Dwelf)
Xiao Jun (Uninformed Shou Tourist)
Roleeda Ganzfried (Insecure Hin Warlock)
User avatar
Maecius
Retired Admin
Posts: 11640
Joined: Sat May 16, 2009 4:24 pm

Re: Community Application

Unread post by Maecius »

I've posted the details of your app to the developer-side "project ideas" forum, AoS. I won't pretend to be tech savvy, myself, but the rest of the devs are pretty clued in about this stuff, and should see it there even if they don't regularly review this part of the forum.

Thanks for sharing it with us!
User avatar
Aspect of Sorrow
Custom Content
Posts: 2633
Joined: Fri Mar 28, 2014 7:11 pm
Location: Reliquary

Re: Community Application

Unread post by Aspect of Sorrow »

Thanks, most of the nwscript and NWNx server side component of it is just about complete as well.
User avatar
Aspect of Sorrow
Custom Content
Posts: 2633
Joined: Fri Mar 28, 2014 7:11 pm
Location: Reliquary

Re: Community Application

Unread post by Aspect of Sorrow »

I am in need of various testers, running Windows XP, 7, 8, 10.

Someone running a Bootcamp version would be great as well. Feel free to PM me if interested.

Requirement Microsoft .NET 4.5 Framework

---

Server
NWNx serverside requirement removed. Nwserver handles instruction in a single queue, holding up the process while it awaits the former instruction to complete. The md5sum validator is being moved to a standalone application, using the filesystem watcher class rather than repolling the entire CC list.

UI
Latest forum posts click open small modal windows to view the post information from without querying again each post, it's block layout now complete and kept to the minimalist view as seen in this debug output. The chat block is on the left.
Hidden: show
Image
UI clutter a bit more compact / condensed given the amount of content in production version. Ping and UDP response times will be measured in 3 digit ms latency, colors changing based on threshold rather than a wordy descriptor.

Application activity is summarized in a single sentence at the bottom now, if visible progress is available, will show a small progress bar during it's activity.

Chat
QuakeNet threw a small fit about the way the IRC was being used. Another network was theorized but I believe I will launch a small standalone chat server instead that can extend support into the onChat hook. I noticed someone was working with metachannels, this is a prime joint opportunity into really neat things.

General Logic
The application will automatically determine the game server IP address so long as the IP remains visible in the manner it is now on the forum, updating accordingly if needed and alerting the user.

The application at launch will attempt to determine the location of the game's installation. If unable to do so, it'll prompt the user now to launch the game as they normally would, deriving the data from windows process management and setting local variables accordingly for future launches. Manual installation is as simple as moving the file into the desired directory.

Experimental
User option: Acquiesce of the client extender, being able to communicate as you would normally though through the BGTSCC app. External map isn't available.

User option: Display various statistical metrics and alarm thresholds of hitpoints, combat start, from the application.

Chat hook between Android Gingerbread OS versions and above with the app. Roleplaying from the toilet.
User avatar
mrm3ntalist
Retired Staff
Posts: 7746
Joined: Wed Feb 29, 2012 5:31 pm
Location: US of A

Re: Community Application

Unread post by mrm3ntalist »

I am interested in helping in any way. PM me of what and when you need me for
Mendel - Villi of En Dharasha Everae | Nikos Berenicus - Initiate of the Mirari | Efialtes Rodius - Blood Magus | Olaf Garaeif - Dwarven Slayer

Spelling mistakes are purposely entered for your entertainment! ChatGPT "ruined" the fun :(
Considerate_
Posts: 630
Joined: Tue May 11, 2010 5:51 am

Re: Community Application

Unread post by Considerate_ »

I have Windows 10 on my computer, but I'm more or less clueless when it comes to programming or stuff. I can test stuff, provided sufficient instructions, though :)
Tamara - "I've seen colours you would never dream of"
Neschera - "Logic can bring you from one step to the next, creativity can bring you from anywhere to everywhere"
User avatar
Zanniej
Posts: 2454
Joined: Sat Jan 11, 2014 11:28 am
Location: The dark parts of the forum

Re: Community Application

Unread post by Zanniej »

It looks awesome. I'd love to help.
Though I'm not really knowledgeable in real applications, I am a webdeveloper which gives me a bit more knowledge in code, should that be needed.

Two things I'm wondering:
  • Is it possible to implement a player counter? ( I've still got one running myself, which I could make public, but that's web-based)
  • Is it possible to get current players from the server? If it works with the same API then I imagine you can't, but I'm just wondering.
Off to greener pastures
User avatar
Theodore01
Recognized Donor
Posts: 2927
Joined: Wed Feb 16, 2011 5:32 pm

Re: Community Application

Unread post by Theodore01 »

I am in need of various testers, running Windows XP, 7, 8, 10.
.NET Framework 4.5 is not available for Windows XP.

Sounds really interesting, will gladly give it a try, if i ever upgrade my old XP ;)
User avatar
Aspect of Sorrow
Custom Content
Posts: 2633
Joined: Fri Mar 28, 2014 7:11 pm
Location: Reliquary

Re: Community Application

Unread post by Aspect of Sorrow »

Zanniej wrote:Is it possible to implement a player counter? ( I've still got one running myself, which I could make public, but that's web-based)
The gamespy2 query into the server via UDP is one of the DDoS detection mechanisms I put in, not only showing a player count but during a DDoS on BG I noticed the TCP behavior being nominal while the game server was acting up. The application tosses the query and turns the player count text red if the response exceeds 300ms.
Zanniej wrote:Is it possible to get current players from the server? If it works with the same API then I imagine you can't, but I'm just wondering.
Gamespy2 doesn't return the player gsid / charname from NWN2, so we have a couple of ways to tackle this. One either by a select query from the module's running database and sending the information to cache on a separate machine over a 5 minute interval so that the player application queries aren't hammering the server directly, or using interop platform invocation, searching the nwserver memory space and parsing the data out to send over. Previously I considered a NWNx plugin to do this, but in the event that anything hiccups from that plugin the rest of the server calculatingly suffers in performance.
Theodore01 wrote:.NET Framework 4.5 is not available for Windows XP.
Good catch, I knew 4.0 was available then the user could upgrade from it to 4.5 through some hacky mechanism. Let's scratch that XP bit off the test list.
Post Reply

Return to “Solved Problems”