[MISC] CraftProxy 0.2.0 - Reduce bandwidth use by caching chunk data [1.6]

Discussion in 'Archived: Plugin Releases' started by Raphfrk, May 1, 2011.

  1. Offline

    Raphfrk

    CraftProxy - Reduce bandwidth use by caching chunk data
    Version: 0.2.0

    Description

    This plugin and local client allows chunk data to be cached locally by players. This reduces the bandwidth required for hosting the server. It also helps users who are on slower connections.

    I am not sure what the status of this system is. It doesn't count as a plugin, since it has 2 parts.

    Even when running the plugin, players who don't use the client proxy can still connect. However, they will use the full bandwidth.

    The system can reduce bandwidth by 70-90% (after the 2nd login).

    Setup

    Server

    Add the plugin file to the plugins folder

    Client

    Start minecraft client and login
    Double click on the client jar file
    Enter login details
    Enter the server location/port in the GUI
    Press start on the GUI
    Connect to localhost on the minecraft client

    Stable Builds

    None yet

    Dev Builds

    Warning: These may not be stable

    Client
    Plugin

    Had it get the compress/decompression gain backwards.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
    Jushy, Martin1704, Nathan C and 24 others like this.
  2. Offline

    dompie

    Yes, people without a client proxy are still able to join your server. Don't know about the speedup stuff.
     
  3. Offline

    mgmchenry

    CraftProxy as a lag-troubleshooting/performance analysis tool?

    I grabbed the CraftProxy source to see about modifying it to do some troubleshooting. My server is in the US and I have some users in Beijing, China. For several months (back in the hMod days), everything seemed fine most of the time, but now we sometimes see intolerable lag.

    There is a bandwidth issue. Using speedtest.net, I'm seeing upload speeds (server to client) of 0.8mbps. I had hoped chunk caching would help, but it doesn't seem to. Whether or not there is lag at any given time does not correlate to whether or not the proxy is on, number of users on the server, CPU load, available memory, length of time the server has been up, craftbukkit vs. vanilla.

    One of the main symptoms I see is my China users being able to move around without much lag, but if they open a chest, it can take seconds or more than a minute to display the chest UI on the client. The user can have moved hundreds of meters away from the chest in that time. WTF?

    I'm thinking about logging the types of packets sent to and from these users on both sides and comparing timestamps to see if I can figure out why some packets are delivered promptly and others are not.

    Any thoughts on that or suggestions on where I should hook in? I'd especially like to know if you have any ideas on how to track timestamps with a common time reference so that a 300ms packet delay measures as 300ms.

    Thanks!
     
  4. Offline

    sfxworks

    So I don't entirely know about the safety of this plugin. A user name brendal100 was able to send in commands via chunk request. It didn't show up on the logs either. He was able to set the border using /setborder. He was also able to avoid bans (mostly because /ban doesnt work if youre using this plugin). I ended up waking up at 3am to deal with this issue.

    Is there any way to /ban in game? I would really like it if I didn't have to go into the file and add an ip every time. Especially after something like this...I mean... its 4am here atm...
     
  5. Offline

    Pisi-Deff

    @sfxworks
    Why would /ban not work?

    /ban bans the player's username from the server.
     
  6. Offline

    sfxworks

    Because offline mode. So I need the IP banned as well.
     
  7. Offline

    The PC Tech Guy

    I'd really like to use this, but some of my permissions are based on IPs (I use a server wrapper). Otherwise, how would the plugin mode work, if it did?
     
  8. Offline

    frdfsnlght

    Raphfrk,

    We've spoken before about your Serverport plugin kick messages and client patcher. I'm nearing completion of the first generally available version of my own server-to-server teleporting plugin (thanks for the inspiration) and I have a humble request.

    Despite what was said in the other thread, I went ahead and re-invented the wheel and wrote my own client patcher. I was curious as to the process anyway, so I learned some things. It does basically the same thing your patcher does, but the main difference is what it detects in the kick message. Your patcher is hard-coded to detect "Serverport" between the first set of square brackets. My patcher uses a regular expression to detect _any_ text between those brackets. This allows my plugin to send "Transporter" instead of "Serverport", which makes a bit more sense since my plugin isn't your plugin. As a result of that change, my patcher works with Serverport too, but your patcher doesn't work with my plugin. It would be great if you could change your patcher in the same way. But that isn't the main point of this request.

    I presume your proxy also has "Serverport" hard-coded in the kick message detection? It would be great if that detection could be changed to allow anything between the brackets, much like my client patcher. That would allow your proxy to be more friendly to other plugin writers.

    Would that change be possible?

    If you'd like to see how I did the detection, feel free to peruse my source over at google code. I built the client patcher into the plugin JAR so its source is in the org.bennedum.transporter.client package, and the source for the patch itself is in resources/client/src/Transporter.src. I haven't released a build based on this yet (it will be v6.3 when I do).
     
  9. Offline

    Qlaras

    Trying to get this running on my server. Regardless of what I set auth_off= and bridge_connection= to (true, false, or empty) the server itself (cb860) reports that the user failed to verify username. Running 102 on both.

    Also, with the non-plugin-capability currently, does it matter where I run the proxy from? (server-side; does it need to be in the /plugins folder?)

    EDIT: Solved my own problem, I had to put auth_off in the command line to start it, it did NOT read the setting from the config file.

    Supplemental question: Do I have to do something special to get it to read the config file?
     
  10. Offline

    Tealk

    Hi i have a problem
    i have install
    MyWolf
    for this plugin i need
    BukkitContrib
    then after the installation i will connect with proxy i get this message
    http://pastebin.com/QtqfSFmg
    without proxy i can connect

    this client mod make problems
     
  11. Offline

    iama

    hi, i want to tell you big thanks for plugin. but i have a problem. im starting craftproxy on separate server

    Code:
    java -jar CraftProxyLiter.jar 23074 192.168.1.200:38558 local_cache auth_off log log.txt compress_info monitor 1 debug
    then i try login with client 1.6.6 and got a error:
    http://pastebin.com/cYbdrxSF


    on minecraft server side:
    http://pastebin.com/q21XMcJR


    on client-side i see "protocol stream closed" . how i can fix this error ? thanks.
     
  12. Offline

    Afforess

    @Raphfrk

    I'd appreciate it if you included support for Packet 195. I use it for BukkitContrib, and CraftProxy disconnects anyone who is using it.
     
  13. Offline

    piousminion

    Does this work at all with 818 or 860?

    It looks to be inactive and I see no mentioned of it working with the latest RB.
     
  14. Offline

    Lunar Delta

    It works just fine.

    And I hope to all the gods in the universe that it hasn't become inactive, because it has been a total godsend to my server. The amount of players I can have online would be drastically slashed if this stopped working.
     
  15. Offline

    Qlaras

    Working fine for me on CB 860, once I figured out my (previously mentioned) problems.
     
  16. Offline

    dompie

    I'm getting on 860 more often IO ERROR or "Buffer miscalculation". How did you do the stuff with your config file?
     
  17. Offline

    iama

    at bukkit 860 dont working, "bad packet id"
     
  18. Offline

    maxexcloo

    Hey, any way to change the path of the folder used for storing the cache?
     
  19. Offline

    Kane

    He has gone MIA :(
     
  20. Offline

    42Mikey

    I would like to thank you so much. I've been wanting to start a server for a few friends and I to play on for quite a while now. Never could get it to work properly though. I just got it working the past few days, and an old issue came up. My internet has a pretty poor quality. My first friend who logged on had a lag of 30 seconds. 30 seconds before he could see danger, destroy a block, send a message. Now thanks to this he says that the lag is down to 4 seconds max or nothing.
     
  21. Offline

    Kainzo

    @Raphfrk - where for art tho?
    is this only the client side or if the plugin is installed altogether?
     
  22. Offline

    Afforess

    Client side.
     
  23. Offline

    Kainzo

    Still having issues having it use the bound port... ill work into it more later.
     
  24. Offline

    42Mikey

    Is there any way to make more plugins like this? That would decrease lag further. Could it possibly be made to run the entire server on two separate computers, and have them connected through internet? I"m not sure how it would work. There'd need to be a way to connect them with a single ip I'm sure. be awesome if something like that was created though.
     
  25. Offline

    LokiDarkfire

    alot to read through so if this has been asked sorry, i understand how this works so does this esentailly mean it will have no effect unless every user has it?
     
  26. Offline

    Kainzo

  27. Offline

    Afforess

    Yeah, similar. As I said, this mod is out of date...
     
  28. Offline

    Kainzo

    Well that makes me a sad panda.
     
  29. Offline

    morizuki

    I wanna ask something about.. is this supposed to install in the server side only or both server and the client side?
     
  30. Offline

    Qlaras

    Both. Server-side does the hashing and compression, and the client-side talks to that. If you don't have it on the client side, you CAN connect to the server directly (or through the proxy) but it won't take advantage of the proxy's features.
     
  31. Offline

    Pantheis

    The plugin may not work but the stand alone server and client have been working with MC 1.6.6 and CB863 (and CB860) just fine.
     

Share This Page