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 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:
Good stuff. I'll edit this reply later will my full opinion once I've given it a decent amount of thought.
This is a veeeery amazing idea. Liking how its sounding so far. Well, loving. Hope it gets put into effect!
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.
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?
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.
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.
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.
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 Can't wait to use it!
That sounds really neat, specially for positioning swords and the like. Having to restart Starbound everytime you notice something is wrong is a pain.
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.