jhalter / mobius

A Hotline server implemented in Golang for macOS, Linux, and Windows operating systems
MIT License
78 stars 8 forks source link

Feature Request(s) #142

Open tagban opened 4 months ago

tagban commented 4 months ago

Hello,

First off I am currently trying to get things working on my Mac Mini but I have intentions to move the primary hosting over to my gaming server I run from a more dedicated internet connection which runs Windows Server. So my requests come from a place of, how to expand Hotline without breaking original clients. Some things I've seen that I'd love to see implemented in a server:

And unrelated to Server/Client: Long term hopes: An upgraded tracker software, that can do database source possibly even connect to servers and check file listings for servers publicly listed on hltracker.com to allow a very similar function like tracker-tracker.com used to have (Search for files across servers).

Modernizing this stuff allows the old and new to work together which is awesome. And the tracker especially I'd want to do in a HTML4 compliant website so that older machines can still use it.

jhalter commented 4 months ago

Thanks for the feedback! There's a lot to unpack here. 😅

Some thoughts:

Windows

I have intentions to move ... to ... Windows Server

Please keep me posted on any issues you run into on Windows! I haven't run into problems there, but my testing has been limited.

Storing Chat

Storing Chat Log with an option to send the chat log to the end-user upon joining the server

Knezzen requested the same in #105. I have mixed feelings about deviating from the standard behavior of a Hotline server, but I suppose if it's off by default and doesn't add much complexity I could be open to it?

I haven't publicized this much because it's not free to use, but an alternative solution to is to run mobius-gpt-bot, which logs in to a server and stores the chat messages it sees.

Then you can ask it to either summarize the chat or return it to you verbatim.

Screenshot 2024-07-10 at 3 50 49 PM

If you have a few bucks to burn on an OpenAI dev account, you can give it shot!

Database Connectivity

MySql or MariaDB options to allow for chats/users logged in/etc, stored in a DB. I'm thinking long term web-interface for seeing activity.

I have some changes in progress that will make it easier to swap in alternative backend data stores for the server configuration and active state: instead of reading from yaml files, configuration could be in a DB, Redis, whatever.

I don't know that I can personally take on MySql or MariaDB integration, but I can make it for others to do so without having to re-invent the wheel.

Other chat integration

Discord API integration and/or Matterbridge integration, allowing the server chat to be shared out.

It'd probably make sense for this to be a bot that logs in and relays the chat to supported external chat systems. I know the System 7 Today server is running something like this for Discord -- maybe that's open source?

Tracker stuff

And unrelated to Server/Client: Long term hopes: An upgraded tracker software, that can do database source possibly even connect to servers and check file listings for servers publicly listed on hltracker.com to allow a very similar function like tracker-tracker.com used to have (Search for files across servers).

The magnetron project beat me to writing a tracker, so I consider tracker out of scope for Mobius.

https://github.com/benabernathy/magnetron

File indexing would be interesting, assuming the Hotline community isn't offended by scraping and could be accomplished by writing a client bot. Maybe it would need to be opt-in. Probably outside the scope for this repo, but something could be a fun side-project in the future.