1. Please be advised of a few specific rules and guidelines for this section.

RELEASED Starbind - Mod Synchronizer

Discussion in 'Other' started by Douggernaut, Dec 14, 2013.

  1. Douggernaut

    Douggernaut Master Chief

    Starbind is yet another mod manager that attempts to make it easy to synchronize mods between your local Starbound installation and the Starbound server you play on.

    How to use - Client

    Download Starbind for Windows or Mac (Linux users please see the GitHub page) and extract Starbind to any directory and then run Starbind.bat on Windows or Starbind.command on Mac. Starbind will launch in your browser. If you get a warning about not finding the Starbound installation directory, please edit the config.json file and set the path to point to your Starbound installation path. It will attempt to find the Starbound path automatically, but it only supports common Steam installations of Starbound at the moment.

    Enter the hostname and port of the Starbind server you want to synchronize with, for testing purposes you can use my server at 192.241.178.147:1337 and click the Sync Mods button. Once the mod files are synchronized, click the Launch Starbound button. Join the server at 192.241.178.147 and you should be able to login with a couple of new songs in your game!

    [​IMG]

    How to use - Server

    To setup a server, please follow the instructions at the GitHub page.

    [​IMG]

    Features

    Starbind will merge conflicts between mods automatically (using a JSON deep merge) and supports the common mod zip files with mod.json metadata file at the root. An rough admin panel is available for the server side where you can start your Starbound server, view server logs and view installed mod packages.

    Notes

    Starbind does not work with any Starbound server, the server must be running the Starbind server application.


    My server has assetsDigest enabled so if your asset files do not match exactly, you will not be able to join my server. If you have edited any of the assets in your assets folder for Starbound, then you will not be able to login. Starbind does NOT modify your Starbound asset files at all.

    Starbind will make a backup of your bootstrap.config file called backup.bootstrap.config upon launch. If Starbind crashes you can rename this file back to bootstrap.config to restore your original bootstrap.config file. Starbind "disables" existing mods by creating a bootstrap.config file with only the special starbind_mods directory as assets directory.

    I've attempted to test it on Linux, Windows, and Mac but that doesn't guarantee it will work for you, please let me know if you encounter any bugs or have any questions!
     
    Artem, Conir and Silverduke1 like this.
  2. TheOtherDrew

    TheOtherDrew Big Damn Hero

    I have to applaud the work you have done here. You used useful and creative ways of making sure that the process for syncing mods server and client side work very well.
    I have not tested this yet, since I'm running my linux vps through putty, without a gui. Is this able to be used from the command line on linux as is? If not is that something you would be willing to work on? I am going to check out your git now, maybe I'll answer those questions myself, but it would be useful to have those answers here. Thanks again, great work.
    Edit: I read through the git, now I'm wondering if I'm a bit of a newbie here.
    I'm not sure I'm following your instructions well. I have zero experience with node.js.
    Am I able to run the server "headless" without need of a gui, and only use the gui on the client side?
     
    Last edited: Dec 14, 2013
  3. KeithHanson

    KeithHanson Space Hobo

    Just a heads up, I'd love to try out your project, but the windows client is saying the download is corrupted each time I download it from dropbox. Specifically, it's saying the node.exe file is corrupted.

    Does the link work for you? I'm on Windows 7 if that makes a difference. I've tried in multiple browsers.

    Thanks for the great work... this is the first thing I asked when I discovered modding was possible (an hour ago), and you just release it today? Lucky me, ha!

    Looking forward to distributing this to my friends once the windows client download is fixed!
     
  4. TheOtherDrew

    TheOtherDrew Big Damn Hero

    Go to this page http://nodejs.org/download/ and download the windows binary. Then replace the one in the win directory with the one you downloaded. Seems to work fine. There are several files that are corrupted including the background for the application. I do believe that the other files do not affect the goal of his application.
    Here is a link from the github to the background image. https://github.com/DougHamil/starbind-server/blob/master/server/public/media/bg.png

    Save that bg.png file and place it in the directory located at \\starbind_win\win\server\public\media\ and overwrite the one that is there and corrupted.
    Best of luck.
     
  5. TheOtherDrew

    TheOtherDrew Big Damn Hero

    Code:
     Searching for Starbound installation directory...
    Unable to find Starbound installation directory, please manually set it in config.json
    
    path.js:360
            throw new TypeError('Arguments to path.join must be strings');
                  ^
    TypeError: Arguments to path.join must be strings
        at path.js:360:15
        at Array.filter (native)
        at Object.exports.join (path.js:358:36)
        at Object.<anonymous> (/root/starbind-server/server/starbound.coffee:43:19)
        at Object.<anonymous> (/root/starbind-server/server/starbound.coffee:191:4)
        at Module._compile (module.js:456:26)
        at Object.loadFile (/root/starbind-server/node_modules/coffee-script/lib/coffee-script/coffee-script.js:182:19)
        at Module.load (/root/starbind-server/node_modules/coffee-script/lib/coffee-script/coffee-script.js:211:36)
        at Function.Module._load (module.js:312:12)
        at Module.require (module.js:364:17)
        at require (module.js:380:17)
        at Object.<anonymous> (/root/starbind-server/server/server.coffee:14:15)
        at Object.<anonymous> (/root/starbind-server/server/server.coffee:91:4)
        at Module._compile (module.js:456:26)
        at Object.loadFile (/root/starbind-server/node_modules/coffee-script/lib/coffee-script/coffee-script.js:182:19)
        at Module.load (/root/starbind-server/node_modules/coffee-script/lib/coffee-script/coffee-script.js:211:36)
        at Function.Module._load (module.js:312:12)
        at Module.require (module.js:364:17)
        at require (module.js:380:17)
        at Object.<anonymous> (/root/starbind-server/app.js:2:1)
        at Module._compile (module.js:456:26)
        at Object.Module._extensions..js (module.js:474:10)
        at Module.load (module.js:356:32)
        at Function.Module._load (module.js:312:12)
        at Function.Module.runMain (module.js:497:10)
        at startup (node.js:119:16)
        at node.js:902:3
    
    
    ^^
    That is the error I get when starting the server.

    Here is my config.json file
    Code:
    {
        "SESSION_SECRET":"supersecretsessionstring",
        "PORT": 1337,
        "STARBOUND_INSTALL_DIR":"/home/steam/Steam/SteamApps/common/Starbound/",
        "LOG_SIZE":64,
        "ADMIN_USERNAME": "madeupsomethinghere",
        "ADMIN_PASSWORD": "somethingherepassword"
    }
    I'm running the latest node.js from
    sudo add-apt-repository -y ppa:chris-lea/node.js

    I also had to copy over your node_modules folder to the Starbind Directory because of complaints of missing coffee module. I followed your instructions to the T with the addition of updating my Ubuntu 12.04 node.js. Looking forward to hearing from you.
     
  6. Conir

    Conir Void-Bound Voyager

    great work!
     
  7. robflop

    robflop Subatomic Cosmonaut

    Absolutely fantastic.
     
  8. Douggernaut

    Douggernaut Master Chief

    Thank you for checking it out, sorry this is the very first release so there will be issues in the instructions and the program itself. The server side can run entirely headless, no need for a gui. If you specify an admin username and password, then you can navigate to your Starbind server to log in a view your installed mods if you want to (you can't edit mods from there, yet). GUI must be used on the client side, I could make a headless mode for that but for now it is strictly GUI.

    Can you verify that your STARBOUND_INSTALL_DIR is correct? If it is, try removing the end '/'
     
  9. Douggernaut

    Douggernaut Master Chief

    Yep that zip file definitely got screwed up. I updated the windows version so you can retry downloading it from the same link. I'm investigating the mac version now too in case it is broken.
     
  10. Nosferatu_Alucard

    Nosferatu_Alucard Phantasmal Quasar

    i dont think this would help me out since i am trying to join a 3rd party server that my friends found i dont own it and neither do they but your idea is along the lines of what i am thinking of. i'm sure it would work with anything else tho but not adding new species.
     
  11. geokhentix

    geokhentix Scruffy Nerf-Herder

    Awesome job with this. I've got it running so that I can start and stop the server from the admin panel, but when I put any mod .zip's in the mods folder, upon starting Starbind it either hangs on "Installing mod xxx.zip..." or immediately shuts the server down directly thereafter. How are the .zips supposed to be constructed? Do i want the zip to be like "/mods/[modname]/assets/etc", or "[modname]/assets/etc"? Thanks in advance!
     
  12. Douggernaut

    Douggernaut Master Chief

    Thanks for checking it out! The zips should have the asset files contained right at the root. So, for example, if you have a custom player.config your zip file would just contain player.config with no other folders. If you still encounter issues could you send me a PM with a link to the mod so that I can try to reproduce and fix it?
     
  13. artisticMink

    artisticMink Aquatic Astronaut

    SOLVED. Fix below.
    I recieve an error when using npm install to inject dependencies using ubuntu 12.04

    Code:
    npm ERR! Error: No compatible version found: coffee-script@'>=1.6.3- <1.7.0-'
    npm ERR! Valid install targets:
    npm ERR! ["0.7.0","0.7.1","0.7.2","0.9.0","0.9.1","0.9.2","0.9.3","0.9.4","0.9.5                                          ","0.9.6","1.0.0","1.0.1","1.1.0","1.1.1","1.1.2","1.1.3","1.2.0","1.3.0","1.3.1                                          ","1.3.2","1.3.3","1.4.0","1.5.0","1.6.0","1.6.1"]
    npm ERR!    at installTargetsError (/usr/share/npm/lib/cache.js:488:10)
    npm ERR!    at next_ (/usr/share/npm/lib/cache.js:438:17)
    npm ERR!    at next (/usr/share/npm/lib/cache.js:415:44)
    npm ERR!    at /usr/share/npm/lib/cache.js:408:5
    npm ERR!    at saved (/usr/share/npm/lib/utils/npm-registry-client/get.js:147:7                                          )
    npm ERR!    at Object.oncomplete (/usr/lib/nodejs/graceful-fs.js:230:7)
    npm ERR! You may report this log at:
    npm ERR!    <http://bugs.debian.org/npm>
    npm ERR! or use
    npm ERR!    reportbug --attach /var/www/public/starbind/starbind-server/npm-deb                                          ug.log npm
    npm ERR!
    npm ERR! System Linux 3.8.0-27-generic
    npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
    npm ERR! cwd /var/www/public/starbind/starbind-server
    npm ERR! node -v v0.6.19
    npm ERR! npm -v 1.1.4
    npm ERR! message No compatible version found: coffee-script@'>=1.6.3- <1.7.0-'
    npm ERR! message Valid install targets:
    npm ERR! message ["0.7.0","0.7.1","0.7.2","0.9.0","0.9.1","0.9.2","0.9.3","0.9.4                                          ","0.9.5","0.9.6","1.0.0","1.0.1","1.1.0","1.1.1","1.1.2","1.1.3","1.2.0","1.3.0                                          ","1.3.1","1.3.2","1.3.3","1.4.0","1.5.0","1.6.0","1.6.1"]
    npm ERR!
    npm ERR! Additional logging details can be found in:
    npm ERR!    /var/www/public/starbind/starbind-server/npm-debug.log
    npm not ok
    
    node version was too old. To install a newer version of nodejs on ubuntu 12.04 you may do the following:

    sudo apt-get install python-software-properties
    sudo add-apt-repository ppa:chris-lea/node.js
    sudo apt-get update
    sudo apt-get install nodejs
     
    Last edited: Dec 16, 2013
  14. artisticMink

    artisticMink Aquatic Astronaut

    Hum, i encountered another problem. Probably still a coffee problem. Here's the error stack. I'll work on it~

    Code:
    module.js:340
        throw err;
              ^
    Error: Cannot find module './server/server'
      at Function.Module._resolveFilename (module.js:338:15)
      at Function.Module._load (module.js:280:25)
      at Module.require (module.js:364:17)
      at require (module.js:380:17)
      at Object.<anonymous> (/var/www/public/starbind/starbind-server/app.js:2:1)
      at Module._compile (module.js:456:26)
      at Object.Module._extensions..js (module.js:474:10)
      at Module.load (module.js:356:32)
      at Function.Module._load (module.js:312:12)
      at Function.Module.runMain (module.js:497:10)
      at startup (node.js:119:16)
      at node.js:902:3
    
     
  15. Douggernaut

    Douggernaut Master Chief

    Sorry about the issues. Did you redo "npm install" after updating your nodejs installation?
     
  16. artisticMink

    artisticMink Aquatic Astronaut

    Sure did. However, npm gives me some warnings but they shouldnt be related to the above error. Here are they anyway:

    npm WARN package.json starbind@0.0.1 No repository field.
    npm WARN unmet dependency /var/www/public/starbind/starbind-server/node_modules/easy-zip requires sync@'latest' but will load
    npm WARN unmet dependency /var/www/public/starbind/starbind-server/node_modules/async,
    npm WARN unmet dependency which is version 0.2.9
     
    Last edited: Dec 16, 2013
  17. Douggernaut

    Douggernaut Master Chief

    Could you try deleting the node_modules directory and re-running "npm install"? Also verify that there is a server.coffee file under the server directory.
     
  18. artisticMink

    artisticMink Aquatic Astronaut

    Tried it. No effect. The server.coffee along with all other files are inside the server directory. Also checking out your git a second time and going trough the installation steps again leads to the same error.

    git clone https://github.com/DougHamil/starbind-server.git
     
    Last edited: Dec 16, 2013
  19. barnii007

    barnii007 Space Spelunker

  20. icakakneja

    icakakneja Intergalactic Tourist

    Error parsing config.json: SyntaxError: Unexpected token }

    undefined:6
    }
    ^
    SyntaxError: Unexpected token }
    i have this anoing error and i dont know what to do . i am using the windows version .pls help
     

Share This Page