1. These forums are archived and available in read-only format. No new accounts may be created and content may not be added or edited. This archive is dedicated to hoshiwara.t who tragically passed away in April of 2015. She will be forever missed.

Alternate Starbound chat box

Discussion in 'Off-Topic' started by Sen, Oct 11, 2014.

  1. Sen

    Sen Guest

    Introduction
    StarDreamer is my client wrapper for StarBound. It currently supports a (very basic) custom chat box and chat logging, and the alpha is available to download.

    Download
    Download link here.
    Requires Java 8, which you can find here (you want the JRE, version Java SE 8u25 or later).
    Source code: https://bitbucket.org/Narks/stardreamer

    Installation and usage
    1). Extract files (StarDreamerAlpha.jar, run.bat) to a folder.
    2). Run run.bat to start StarDreamer. This will create a file in the same folder called dreamerlog.txt, which contains chat logs and any errors thrown.
    3). Run Starbound.
    4). In Starbound, connect to the IP "127.0.0.1", with your Antares username and password. It will connect you to the server, hopefully!
    5). Right click on the window to see options (via a right click menu, see screenshots).

    The alpha version, at the moment, can only connect to Antares, because I'm lazy / open bribery. Also, you can only connect one instance of Starbound to that IP - I don't know what will happen if you try more, but it probably won't be pretty.

    Mac users might want to write their own script to run StarDreamer, or just run the .jar directly (with java -jar, although double clicking on the jar should work too, it's an executable jar). Linux users don't need my help.

    How it works
    It's a client wrapper. It's like StarryPy and such, except it wraps the client. It does so by creating a tunnel (one end is 127.0.0.1:21025, the other end is the Antares server IP), then processing all the TCP data that goes through my tunnel.

    This adds overhead which will increase latency. The way I've implemented the wrapper should have minimum latency, but it also means that packets cannot be modified by the wrapper (but it can still read and send its own packets). Ultimately it doesn't matter because Starbound isn't a game where ping is super important and the added latency should be miniscule anyway.

    Screenshots

    [​IMG]
    [​IMG]

    Future potential features
    - Better UI that can be customized with HTML / CSS / JavaScript
    - Player list
    - Chat filtering and highlighting (also configurable via JavaScript)
    - Ship navigation computer bookmarks
    - Teleport to any planet (teleport bookmarks)
    - Ability to directly spawn items via a pasted .JSON object (allows you to create items via StarCheat without having to restart Starbound)

    Credits and miscellaneous
    Credits to Ryan Printup for some source code and a lot of ideas (https://github.com/RyanPrintup/Star-Sector/), whoever the hell wrote this (http://starbound-dev.org/networking/) and this (http://httptrace.sourceforge.net/). I'll get to proper credit / licensing later.
    Use at your own risk, although I promise StarDreamer is nothing malicious (just decompile if you're so paranoid).

    Old post:
     
    #1 Sen, Oct 11, 2014
    Last edited: Oct 28, 2014
  2. Kazyyk

    Kazyyk Administrator

    Joined:
    Dec 16, 2013
    Messages:
    290
    Likes Received:
    819
    Good stuff. I'll edit this reply later will my full opinion once I've given it a decent amount of thought.
     
  3. Doctor Frohman

    Doctor Frohman New Member

    Joined:
    Feb 8, 2014
    Messages:
    2,037
    Likes Received:
    9
    Amazing. Hope you put it into effect.
     
  4. GuardianPotato

    GuardianPotato New Member

    Joined:
    Feb 24, 2014
    Messages:
    842
    Likes Received:
    1
    This is a veeeery amazing idea. Liking how its sounding so far. Well, loving. Hope it gets put into effect!
     
  5. Sen

    Sen Guest

    My current major roadblock is with how the TCP protocol works. In short, right now about 5% of messages are not detected by my client (you still see them in vanilla Starbound chat box) - which I can fix, but after that, I suspect that extremely large messages will also be lost (over 1500 characters), which requires a non-trivial fix.
     
  6. FFPLEASE

    FFPLEASE DANK MEMES

    Joined:
    Mar 16, 2014
    Messages:
    898
    Likes Received:
    0
    No dices, I like this server because of no dices
     
  7. Sen

    Sen Guest

    ROLL SPOT VS. BLUFF OR UNINSTALL SKYPE
     
  8. Kazyyk

    Kazyyk Administrator

    Joined:
    Dec 16, 2013
    Messages:
    290
    Likes Received:
    819
    1d20(14) + 3 = 17 vs. 1d20(7) + 7 = 14
     
  9. Doctor Frohman

    Doctor Frohman New Member

    Joined:
    Feb 8, 2014
    Messages:
    2,037
    Likes Received:
    9
    [​IMG]
     
  10. Shag

    Shag High Impact Sexual Implications

    Joined:
    Feb 22, 2014
    Messages:
    756
    Likes Received:
    92
    Do want!

    How about having a different tab in the chat or another color for OOC chat?
    And maybe an option to turn off the OOC! Or show just the kind of chat you want to see?
     
  11. Sen

    Sen Guest

    My current plan is to have the primary GUI be a web pane, with the appearance and behavior controlled by HTML, CSS and JavaScript (all the complex calculations will be done by the Java back-end, of course). This offers the kind of graphical behavior that I could not achieve with Java Swing elements, as well as allow anyone versed in web programming to customize the appearance of their chat box (and with JavaScript, even customize the behavior, such as adding new custom filters and special highlighting or whatever). The best benefit is that customizations are drag and drop; there is no need to recompile the client wrapper - anyone who has a little skill can make their own tweaks, just like how people made their own tweaks with the Starbound vanilla chat box.

    With that said, my skill with HTML, CSS and JavaScript is quite poor, so I'm hoping someone who is more skilled picks up my slack and shares their super awesome variant of the chat box. :p
     
  12. Sen

    Sen Guest

    I've finally committed stuff to a repo, you can view it here:
    https://bitbucket.org/Narks/stardreamer

    It's not in a working state at the moment, especially because I did a lot of refactoring, so this will probably only interest the technically inclined people.
     
  13. Kazyyk

    Kazyyk Administrator

    Joined:
    Dec 16, 2013
    Messages:
    290
    Likes Received:
    819
    +1 for BitBucket
     
  14. Sen

    Sen Guest

    Progress update:

    I've pretty much finished implementing the core network layer for the application, and I'm happy enough with it to start working on the GUI. Receiving and sending chat messages all seems to work 100% so far (I haven't fully tested sending messages though).

    I'll probably release a version with a very primitive GUI soon (mostly as a 'beta'), so I can get some people testing it to see if the wrapper is stable or not while I work on a more refined GUI.

    Another piece of functionality I think I could add:
    - The ability to copy and paste JSON for an item (generated from StarCheat) directly into the game - the item would be placed in your inventory. This means you could tweak a gun or a piece of armor in StarCheat (or even in just Notepad++) and test it without having to restart Starbound.
     
  15. Malachar

    Malachar Heir to Madness

    Joined:
    Feb 1, 2014
    Messages:
    412
    Likes Received:
    0
    All of my yes!
     
  16. Sen

    Sen Guest

    [​IMG]
    very basic gui (the bottom-right)
    works on server :)
     
  17. Malachar

    Malachar Heir to Madness

    Joined:
    Feb 1, 2014
    Messages:
    412
    Likes Received:
    0
    Being able to have extensive logs and not need a huge chat window mod, glorious.

    Especially for those like me who have had their monitor die and use one from the last century with a glorious max resolution of 1024/768

    :D

    Can't wait to use it!
     
  18. Iridium616

    Iridium616 New Member

    Joined:
    Feb 2, 2014
    Messages:
    1,133
    Likes Received:
    2
    That sounds really neat, specially for positioning swords and the like. Having to restart Starbound everytime you notice something is wrong is a pain.
     
  19. Sen

    Sen Guest

    [​IMG]
    [​IMG]
    I'm almost ready to release a very basic working alpha - only chat logging and alternate chat box implemented - maybe in an hour or so, or maybe tomorrow.
     
  20. FFPLEASE

    FFPLEASE DANK MEMES

    Joined:
    Mar 16, 2014
    Messages:
    898
    Likes Received:
    0
    Make some sexy GUI