1. When making a thread, please tag your thread accordingly using the menu to the left of the textfield where you name your thread where applicable. Server Advertisements and Mod Releases should be contained to their respective subforums.

Server Discussion Starry - An opensource server management tool.

Discussion in 'Multiplayer' started by d4l3k, Dec 25, 2013.

  1. d4l3k

    d4l3k Seal Broken

    Starry
    A starbound server proxy that adds ingame commands, item giving, banning and a couple of other features. It is compariable to Project Starlight or Starrybound.

    Source is on GitHub and has the most upto date information: https://github.com/d4l3k/starry

    Features
    • Interactive CLI
    • Ban players by IP or IP range.
    • Player Join/Leave messages (see pictures below).
    • Send messages from console.
    • View logs
    • Server restart on crash
    • Works on Linux and Windows (not tested)
    • /command commands. The syntax is the same as the CLI but you need to be on the admin list.
    • Give players items.
    • Admin chat highlighting.
    • Server MOTD
    • UUID Admins
    • Loaded world monitoring via "worlds"
    Pretty Pictures
    Join/Leave messages, MOTD and admin chat highlighting:

    [​IMG]

    Ingame commands:

    [​IMG]

    Giving Items:

    [​IMG]

    Interactice CLI (old pic):

    [​IMG]

    Commands
    Starry CLI - Welcome to Starry!
    Starry is a command line Starbound and remote access administration tool.
    > help
    [Commands]
    <General>
    clients
    - Connected client information (UUID, IP).
    players
    - Show online players
    say <sender name> <message>
    - Say something.
    broadcast <message>
    - Show grey text in chat.
    color <color> <message>
    - Similar to broadcast but with color.
    help [<command>]
    - Information on commands.
    log [<count>]
    - Last <count> or 20 log messages.
    nick <name>
    - Change your character's name. In game only.
    item <name> <item> <count>
    - Give items to a player
    motd
    - View the MOTD
    setmotd <message>
    - Sets the MOTD
    worlds
    - List loaded worlds.
    <Bans>
    bans
    - Show ban list.
    ban <name>
    - Ban an IP by player name.
    banip <ip> [<name>]
    - Ban an IP or range (eg. 8.8.8.).
    unban <name>
    - Unban an IP by name.
    unbanip <ip>
    - Unban an IP.
    <Admin>
    admins
    - Lists the admins.
    adminadd <name>
    - Adds a player to the admin list.
    adminrem <name>
    - Removes a player from the admin list.
    Future
    • Remote control via web.
    Needed Software
    Starry is written in Go(lang) which is availible in most Linux distributions. Use your package manager to install it.

    Links to downloads are provided here for Windows, Mac OSX and other Linux distributions:

    http://golang.org/doc/install

    Use
    Modify starbound.config in your linux64(/32) folder and change gamePort to be 21024, or whatever port you would like. You should then modify your firewall to block this port. Alternatively, if you're selectively port-forwarding ports, don't port forward 21024.

    On Linux you can do this by running:

    sudo iptables -A INPUT -p tcp --destination-port 21024 -j DROP

    Modify starry.config to your prefered values.

    ServerPath: You should modify "gamePort" in the starbound.config file in the ServerPath folder to be 21024.h to the starbound_server executable.
    LogFile: This is the path to the log file location. If you leave this blank it will append ".log" to the ServerPath.
    ServerAddress: Address that the Starbound server can be connected to at.
    ProxyAddress: The address that Starry binds to. This should probably be left as is.
    Password: A password for remote admin access. Not used ATM. Will be used for the web interface.
    MOTD: A message to display to users upon connection. Leave blank to disable.
    Admins: A list of admins. Can be added to using 'addadmin' and 'deladmin'.
    Bans: Leave this as is unless you know what you are doing. This is used by Starry to save the bans.

    To launch it:

    go run starry.go

    License
    The code is free to use and licensed under the MIT License.

    Copyright (c) 2013 Tristan Rice
     
    Last edited: Dec 25, 2013
    Maffi, Razunter and Snowpup like this.
  2. supernet2

    supernet2 Existential Complex


    What have you tested this under? What OS and Build?
    Looks like linux so far but... thats from what i've noticed in your post
     
  3. d4l3k

    d4l3k Seal Broken

    I've only tested it on Arch Linux, but it should work on everything since it's written in Go which is cross platform and uses no platform specific code.
     
  4. Khailz

    Khailz Void-Bound Voyager

    I got this when trying to start starry I'm guessing I've done something wrong?
    Code:
    root@vps:/home/steam/Steam/SteamApps/common/Starbound/linux64/Starry# go run starry.go
    # _/home/steam/Steam/SteamApps/common/Starbound/linux64/Starry/util
    util/util.go:17: undefined: bufio.NewScanner
    
     
  5. d4l3k

    d4l3k Seal Broken

  6. Khailz

    Khailz Void-Bound Voyager

    Is it a client or server problem when a player cannot see a MOTD nor does the player show up as connected to the console
     
  7. Ikerot

    Ikerot Intergalactic Tourist

    I am so confused right now @_@
    So I got Go in Windows (7) and I can't run go.exe. It pops up for a second and then disappears. The same thing happens when I run starry.go.
     
  8. d4l3k

    d4l3k Seal Broken

    I would try updating your version of Starry. I haven't encountered that error, but I just did a bunch of updates and I may have accidentally fixed it.

    I haven't tested it in Windows yet but try double clicking on "starry.bat" which I just added to GitHub. If that doesn't work, try opening up Command Prompt (<Windows Key + R> then type cmd) and navigate to the folder you downloaded starry in and type "go run starry.go".
     
    Last edited: Dec 25, 2013
  9. Ikerot

    Ikerot Intergalactic Tourist

    I'm able to work it with the .bat file. The next problem I have is actually being able to connect to the server. Is Starry.go/bat the server on its own? Or perhaps I've done goof with the configs http://prntscr.com/2dsls9
     
  10. d4l3k

    d4l3k Seal Broken

    Starry runs the server within itself. "ServerAddress" should be "localhost:21024". Did you change the "gamePort" in starbound.config?

    Also, it takes a bit for starbound_server to start accepting connections. Check if you see the line "Server listening for connections." in the CLI.

    Another potential problem is when you're running the server on the same machine as client you have to connect to "127.0.0.1:21025". "localhost" hasn't worked for me and the when you change "gamePort" in the config file it also changes the default port it connects to. If you omit "21025" it connects to "21024" and bypasses Starry.
     
  11. supernet2

    supernet2 Existential Complex

    Okay question... How do i get it running on windows, do i modify the config file or the actual starry.go and change all of the files?

    Ex:

    Thats for starry config... i feel i did this correctly if not please correct where i did it wrong.


    My starbound.config gameport: 21025 where i figure your 21024 is a redirect so that anyone who attempts to connect is blocked (TCP redirection for bans?)


    So in starry.go do i also configure /home/rice/.starbound/linux64/starbound_server to be my windows location of where starbound_server.exe is? In this case at F:\Installed\SteamLibrary\steamapps\common\Starbound\win32\starbound_server.exe ?? Same with the starry.config or no?

    Also... for where starry-master folder is suppose to be extracted to.. thats to win32 right? Since im using the windows build, not a linux build? I can of course load it to my linux server but... im more a fan of windows.
     
  12. TheOsmosis

    TheOsmosis Space Hobo

    OS: Windows 2003 R2

    Everything works so far for me, but there is on big problem. I set my Name and UUID in the config, but iam not Admin. Checked the UUID many time.

    Here is 1 Error i get on Start

    [​IMG]

    Could that be the Problem?

    Good Project, keep up the good work ;)
     
  13. erlioniel

    erlioniel Void-Bound Voyager

    Nice utility CLI. Thank u! :D

    Code:
    Starry CLI - Welcome to Starry!
    Starry is a command line Starbound and remote access administration tool.
    > [World] Up: alpha:22313424:75922576:-10666360:6
    Server listening for connections.
    
    help
    Unknown command: help
    Type 'help' for more information.
    
     
  14. Snowpup

    Snowpup Giant Laser Beams

    _/home/steam/Steam/SteamApps/common/Starbound/linux64/util
    util/util.go:17: undefined: bufio.NewScanner


    I got that error as well, and yes I did update to the latest go (1.2).
     
  15. Snowpup

    Snowpup Giant Laser Beams

    Code:
    Fatal error  listen tcp 0.0.0.0:21025: bind: address already in use
    exec: "/home/steam/Steam/SteamApps/common/linux64/starbound_server": stat /home/steam/Steam/SteamApps/common/linux64/starbound_server: no such file or directory
    read |0: bad file descriptor
    [Error] Server crashed. Rebooting in 3 seconds...
    Starry CLI - Welcome to Starry!
    Starry is a command line Starbound and remote access administration tool.
    > [Error] Client tried to connect. Server is not accepting connections.
    panic: runtime error: invalid memory address or nil pointer dereference
    [signal 0xb code=0x1 addr=0x20 pc=0x4029ee]
    
    goroutine 3 [running]:
    runtime.panic(0x5365e0, 0x6ce4e8)
            /usr/local/go/src/pkg/runtime/panic.c:266 +0xb6
    main.netProxy(0xc210038120)
            /home/steam/Steam/SteamApps/common/Starbound/linux64/starry.go:181 +0x5be
    created by main.main
            /home/steam/Steam/SteamApps/common/Starbound/linux64/starry.go:639 +0xcf
    
    goroutine 1 [select]:
    main.main()
            /home/steam/Steam/SteamApps/common/Starbound/linux64/starry.go:644 +0x1641
    
    goroutine 4 [sleep]:
    time.Sleep(0xb2d05e00)
            /usr/local/go/src/pkg/runtime/time.goc:31 +0x31
    main.monitorServer(0xc210038180)
            /home/steam/Steam/SteamApps/common/Starbound/linux64/starry.go:238 +0x497
    created by main.main
            /home/steam/Steam/SteamApps/common/Starbound/linux64/starry.go:641 +0x104
    
    goroutine 5 [syscall]:
    syscall.Syscall(0x0, 0x0, 0xc210067000, 0x1000, 0x0, ...)
            /usr/local/go/src/pkg/syscall/asm_linux_amd64.s:18 +0x5
    syscall.read(0x0, 0xc210067000, 0x1000, 0x1000, 0x431bca, ...)
            /usr/local/go/src/pkg/syscall/zsyscall_linux_amd64.go:838 +0x72
    syscall.Read(0x0, 0xc210067000, 0x1000, 0x1000, 0x6e47a0, ...)
            /usr/local/go/src/pkg/syscall/syscall_unix.go:135 +0x5c
    os.(*File).read(0xc210000000, 0xc210067000, 0x1000, 0x1000, 0x4171ef, ...)
            /usr/local/go/src/pkg/os/file_unix.go:180 +0x62
    os.(*File).Read(0xc210000000, 0xc210067000, 0x1000, 0x1000, 0x7f276aa28248, ...)
            /usr/local/go/src/pkg/os/file.go:95 +0x98
    bufio.(*Reader).fill(0xc210038300)
            /usr/local/go/src/pkg/bufio/bufio.go:91 +0x110
    bufio.(*Reader).ReadSlice(0xc210038300, 0x42c50a, 0x0, 0x0, 0x0, ...)
            /usr/local/go/src/pkg/bufio/bufio.go:274 +0x204
    bufio.(*Reader).ReadBytes(0xc210038300, 0xffffffffffffff0a, 0x0, 0x0, 0x0, ...)
            /usr/local/go/src/pkg/bufio/bufio.go:355 +0xbf
    bufio.(*Reader).ReadString(0xc210038300, 0xc21000000a, 0x0, 0x0, 0x0, ...)
            /usr/local/go/src/pkg/bufio/bufio.go:395 +0x55
    main.cli()
            /home/steam/Steam/SteamApps/common/Starbound/linux64/starry.go:501 +0x26b
    created by main.main
            /home/steam/Steam/SteamApps/common/Starbound/linux64/starry.go:642 +0x112
    
    goroutine 6 [syscall]:
    runtime.goexit()
            /usr/local/go/src/pkg/runtime/proc.c:1394
    
     
  16. Silverforte

    Silverforte Spaceman Spiff

    How do I use this if I use clanforge to run a server?
     
  17. supernet2

    supernet2 Existential Complex

    What os you trying to run it on? i Was trying it out on windows. and then maybe linux since its initially for linux
     
  18. Snowpup

    Snowpup Giant Laser Beams

    Ubuntu 12.04. The reason that happened was because I was an idiot and typed the path wrong.

    Now my only issue is getting it to auto-start with Supervisor. It runs great thus far~
     
  19. Snowpup

    Snowpup Giant Laser Beams

    For OP:

    Anybody can type /clients and gather IP information... My players are not a fan of this security... Is there any way to change that to allow it only for admins?

    Also they can run any command that does not require the password.
     
  20. Snowpup

    Snowpup Giant Laser Beams

    With the latest update it seems that doesn't show that information anymore, however when anybody disconnects it displays that they left twice. Kind of annoying, but workable.

    OP, if you have a Skype I'd love to help you troubleshoot and report bugs.
     

Share This Page