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 Aegis Wrapper - Server Wrapper

Discussion in 'Multiplayer' started by unleashurgeek, Dec 15, 2013.

  1. SpikeTheSpaceCowboy

    SpikeTheSpaceCowboy Tentacle Wrangler

    Hey unleashurgeek, I've thrown together a quick script to deal with crashes and server restarts. Check for it here, feel free to look it over and see if it helps with your project here.
     
  2. Shirou

    Shirou Aquatic Astronaut

    Nice we need something like this for sure
     
  3. BMZ_G

    BMZ_G Poptop Tamer



    So much of this is just straight up false.. please try and avoid lying to people who know no better.

    Firstly, where did you pull 50ms from? Your ass? There is no way that proxying the connections server side in the local network would create that level of overhead, that level of overhead would not even be created if I was for example to proxy connections from a server in LA to a server in Dallas, and back again.

    Secondly, though he is not directly hooking into Starbound his solution is working, and his method is by no means not kosher, it is simply a less friendly way of achieving the same result - and it contains almost no disadvantages in the short term (until they release packet information and/or API)

    Your mention of how his system to ban will create overhead is also bogus, all traffic is filtered through his proxy, thus his proxy can deny/accept individual requests from individual clients without it effecting any of the other requests - only at EXTREMELY high loads (hundreds of thousands of connections) would this be an issue.

    I'm not trying to knock your ability as a programmer, but you are quite clearly not that experienced in the server side of things, at least IMO. The statements you made are sweeping blanket statements with no technical grounds to stand on - and you have no right to knock his methods publicly without those grounds.

    Just my 2 cents.
     
    nectarprime and Darkimmortal like this.
  4. Phoenix_

    Phoenix_ Space Penguin Leader

    I can't wait! I guess Starbound Plugins will be the next big thing!
     
  5. unleashurgeek

    unleashurgeek Space Spelunker

    Just a small progress update here. Been messing with packets as much as I can today. If anyone can try their luck mapping out the chat packet that would be awesome. So far I have enough information to have commands respond and tell me information, like /players actually tells me the number of players in game! The problem is with the limited knowledge of the chat packet I can only do little things with it until I can write a method for creating my own. So again, if anyone can figure out something about the Chat packets that would be awesome! Here is what I have mapped out so far:
    Code:
    byte:
    0: always 5
    1: 5 + #ofCharacters + 2? <- I think this is completely wrong
    2: Color?
    3: ???
    4: ???
    5: ???
    6: ???
    7: Connection number
    8: length of sender name (assuming 6 for ease of explanation)
    9-14: Sender name (Server)
    15: Size of message (assuming 17 for ease of explanation)
    16-32: Message
    33:+ I have no idea
     
  6. Underbalanced

    Underbalanced Phantasmal Quasar

    Ill test what I can do. I do packet analysis for work.
     
  7. Underbalanced

    Underbalanced Phantasmal Quasar

    So my problem is i know networking but not the data field for this game, but here you go a striped packet (Removed the header)

    Code:
    0030  00 00 00 00 00 00 30 06 82 c9 75 2b 89 31 78 9c  ..,...0...u+.1x.
    0040  ed 55 4d 6f d3 40 10 75 36 75 be 54 da 82 22 81  .UMo.@.u6u.T..".
    0050  90 80 48 08 a9 08 29 8e 63 a7 09 04 2b b9 20 81  ..H...).c...+. .
    0060  28 08 b5 e1 8c 36 eb 71 b2 b0 de b5 d6 9b 84 f6  (....6.q........
    0070  d4 72 ef 0f e8 2d 12 17 fe 02 b7 1e 39 f4 47 f0  .r...-......9.G.
    0080  13 b8 70 67 1d 87 d0 80 38 e4 00 a7 7a 0e de 19  ..pg....8...z...
    0090  3d cf 7b 63 8d de 7e 39 ca 9c 6c 9f dc ab 1d df  =.{c..~9..l.....
    00a0  71 b3 8f 4f 6e ae 0f 80 83 c4 0a fc c1 88 a3 7c  q..On..........|
    00b0  b9 c4 60 0c 6c 9f 60 06 a8 fb da f9 78 64 18 86  ..`.l.`.....xd..
    00c0  39 ab a1 6e e5 ee f6 54 a7 25 09 44 50 d6 a3 21  9..n...T.%.DP..!
    00d0  a0 ce e7 d3 d3 a4 b6 49 18 8e e3 17 23 a6 68 c4  .......I....#.h.
    00e0  28 48 d4 f9 66 cc 9e 52 24 c5 5b 20 8a 32 c8 a3  (H..f..R$.[ .2..
    00f0  df 1a 99 91 98 68 68 f7 d6 a3 69 45 a7 1b bf a0  .....hh...iE....
    0100  bd 83 08 cc 9c 14 e4 1d a8 ad 78 28 a4 f2 21 26  ..........x(..!&
    0110  92 46 8a 0a 6e 5e df 85 31 c5 6a 88 79 a5 37 1c  .F..n^..1.j.y.7.
    0120  71 1f 24 48 7a 08 32 17 47 12 b0 bf 86 4a 13 c0  q.$Hz.2.G....J..
    0130  91 e0 b3 2e 9b 7b b3 2e 95 5d 3c e2 64 08 b2 40  .....{...]<.d..@
    0140  15 84 2f 71 08 e6 d2 e8 c5 45 92 cd ac eb ce fe  ../q.....E......
    0150  2b 11 d3 84 2d 87 d0 59 39 9d 05 9d a5 6f e3 0a  +...-..Y9....o..
    0160  e5 63 e0 4a c8 83 67 44 23 b2 79 54 88 2e c0 1f  .c.J..gD#.yT....
    0170  9c 9f 27 48 34 47 1b 26 0d f1 00 cc e3 ab 56 c2  ..'H4G.&......V.
    0180  1d 5b 9a 2e b6 a4 e6 10 e1 82 d5 4a 87 65 73 95  .[.........J.es.
    0190  56 7f a4 94 e5 54 23 3e e8 48 88 18 26 d0 06 a7  V....T#>.H..&...
    01a0  11 34 7c 8f f4 6d 27 08 da fd 7a bd e6 d6 bd 87  .4|..m'...z.....
    01b0  7d db 27 41 bb d5 b4 6d a7 ee 35 5a b5 9d 56 bd  }.'A...m..5Z..V.
    01c0  dd aa 25 e1 35 5b cd 66 cb 6d ef d4 92 f0 dc a0  ..%.5[.f.m......
    01d0  e1 36 70 db ad 25 e1 39 8e e3 3a 64 59 f8 4f bd  .6p..%.9..:dY.O.
    01e0  7f 08 2f af 20 3c a4 be cf c0 b2 ff b3 f6 ee fd  ../. <..........
    01f0  bf fc f4 55 b4 f7 b1 94 c0 2c bb f1 af b5 17 7d  ...U.....,.....}
    0200  89 27 b8 cf 20 be 5c 9e cb e5 59 75 79 d4 44 3c  .'.. .\...Yuy.D<
    0210  d5 5a 66 56 15 8e 0e 0f 19 3c 09 02 6d 9c 79 54  .ZfV.....<..m.yT
    0220  0c a8 84 7d a1 3d 31 97 c9 67 d6 02 6d a5 e6 0d  ...}.=1..g..m...
    0230  2b 0e de 27 13 cc 05 bf d1 7e aa aa 13 3c 2e 62  +..'.....~...<.b
    0240  ae c7 9c 39 aa 67 2d ce b1 95 b6 0c b4 a1 0f f5  ...9.g-.........
    0250  26 31 06 2a ad d8 cb 59 75 f1 c9 06 e5 71 94 18  &1.*...Yu....q..
    0260  b7 e0 cf 29 f7 cd ac 26 2b 24 4a d2 2b e2 fb a7  ...)...&+$J.+...
    0270  6b 7b bd e9 e6 7a 52 b9 e0 aa dd ea 7c 61 3a 5f  k{...zR.....|a:_
    0280  d3 43 4e 62 49 d5 81 99 23 22 0c 05 ff 70 db 30  .CNbI...#"...p.0
    0290  7e 00 84 d6 f6 f7  ~.....
    The chat message was "fgdgsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss"


    I doubt the devs are going to give you access to the details right now would cause to many security issues.
     
  8. Darkimmortal

    Darkimmortal Scruffy Nerf-Herder

  9. unleashurgeek

    unleashurgeek Space Spelunker

    I tried doing that awhile ago, the handshake is clearly passed through some sort of encryption client side. From what I do know I am pretty confident that it isn't zlib decryption on the packet data.
     
  10. Darkimmortal

    Darkimmortal Scruffy Nerf-Herder

  11. TheOtherDrew

    TheOtherDrew Big Damn Hero

    Just a thought but if you made a "man in the middle" approach, that forwarded the handshake etc.. Wouldn't that suffice for now? I know you want to be able to send it yourself, but it should work, at least from what I recall from the cube world man in the middle server. I'm no pro, but just a thought.
     
  12. unleashurgeek

    unleashurgeek Space Spelunker

    Maybe that is exactly what I am doing ;)
     
  13. Volgarenthor

    Volgarenthor Poptop Tamer


    I doubt there could honestly be many more security issues than what already exists..lol /butnotreallylol
     
  14. shibdib

    shibdib Starship Captain

    Any eta on this?
     
  15. Arkii

    Arkii Intergalactic Tourist


    This is what I do to make my chat packets that work so far :>
    Code:
    [byte] PacketID = 5
    [byte] playLoadSize = (nickLen + msgLen + 6[unknown] + 1[for the msgLen] +1[for the msgLen ])*2
    [byte x 6] always seems to be [1,0,0,0,0,1]
    [byte] nickLen
    [byte x nickLen] nick
    [byte] msgLen
    [byte x msgLen] msg
    Hope that's of some help.
    It would be nice if all these packets where know as alot of odd stuff seems to happen in some of them sometimes.
     
  16. Underbalanced

    Underbalanced Phantasmal Quasar

    The funny thing is a patch is coming soon... you might have waited to long to release.
     
  17. Underbalanced

    Underbalanced Phantasmal Quasar

  18. unleashurgeek

    unleashurgeek Space Spelunker

    My apologies towards the community about Starrybound, they truly seemed like a good solution. However on a positive note I would like to say that I am still heavily developing this wrapper and after the countless rewrites I do believe it should be done soon.

    On release, or a couple days before if I get everything pretty, I will release the full source on github (however at this moment the code is on a private repo).

    Furthermore, The biggest and most important feature that this wrapper will be releasing with is a plugin API similar to Bukkits, thus allowing developers to create tools based on a unified system and for server owners to make the experience for users both seamless, clean, and complete. Also I have my best web devs on the case of getting a site for plugin distribution / forum ready for this wrapper.
     
    Bunnky likes this.
  19. hbrewitt

    hbrewitt Tentacle Wrangler

    I'm very excited for this and as are a lot of other people I'm sure! Do you have any idea on an ETA for the wrapper?
    Thanks again for all your hard work.

    Hbrewitt,
    -ValkariCraft
     
  20. unleashurgeek

    unleashurgeek Space Spelunker

    I hate to give ETAs; however, I would say ~week. What I might do is release a bug filled version with a couple tutorials on how to write plugins before release so when actual release happens there will be plugins!

    If people want to start thinking about plugins now, the plugin structure is extreme similar to bukkit, so I would suggest looking at bukkit plugin tutorials. Also I will be releasing with a couple open source plugins to kick start it and to give examples as structures.
     

Share This Page