Comments (22)
yep, I'm aware. this is also why you need to join the proxy before the end of the queue. basically, when you first join a server normally, it sends you information about chunks near you. when you die/ teleport / respawn, the server sends this information again, in case you re-appear somewhere you haven't visited yet. when using this proxy, the server sends the information, and if your client is not there to record it it won't send it again. I had an idea to make the proxy just play back whatever the server sent before you joined, but that ended up being a problem because it was basically DoSing the client.
if you're near your bed when you discornnect/reconnect, you can indeed /kill to spawn correctly, but that's not necessarly common.
i'm not closing this in case someone would want to open the same issue, but tagging as wontfix for the moment.
from 2bored2wait.
wait a minute, if the issue is by not getting chunks to the client, would pressing A while holding F3 reload the chunks?
If the proxy server relays all packets to 2b2t, chunks would reload.
I am currently still in queue so I will check this in 20 minutes, but it sounds as a useful fix.
If the "reload chunks" packet is not relayed by your proxy, it would be useful to add this feature, because of gaming with laggy network connections, such as mobile data, cause connection drops every so often. The connection drops and unexpected disconnections would be eliminated whilst in queue, but they would still be fatal in case of an in-game drop.
If it is possible to fix this issue, an antiafk packet sending by the proxy server would be really useful, because it would mean a non-stop connection.
from 2bored2wait.
pretty sure it doesn't work, i think I tried it before.
from 2bored2wait.
because the proxy does not relay the reload chunks packet, i guess.
Edit: nevermind, every packet is relayed...
from 2bored2wait.
yeah, it's just that the server doesn't care??? it's pretty wierd, maybe it's just 2b2t that ignore those reload packets.
from 2bored2wait.
after some investigation, i'm pretty sure F3+A reloads chunks from client memory, so there's no packet that even goes out. for instance, I read a conversation on hypixel's forum in which the user was describing people spamming it to see through blocks before they were re-rendered. If a packet was sent, hypixel would have been the first to ban those users.
I will investigate to see whether there is a mechanism in place to trigger a chunk reload, maybe it is a separate packet from respawning, or maybe sending respawn packets can trigger them without actually being dead, i don't know.
EDIT: i'll look into: https://wiki.vg/Protocol#Client_Status, which apparently is used to connect and respawn. maybe the server sends chunk info when that happens regardless of if you're dead? we'll see.
if not, the only thing left is to actually store packets in the proxy memory, and while this is doable for chunks (it gets wierd really quickly as soon as you move from where you started), you get a bunch of issues once you start thinking about players and entities, who have to be spawned then moved, problems with inventory, etc...
for now, killing yourself is still the easiest way to reload chunks properly.
from 2bored2wait.
Yup,
I asked the folksat #mcdevs and they told me that there is no "reload chunks" packet.
from 2bored2wait.
I solved this issue on a project of me by adding recorded chunks to a list and when you join again it loops through the list and re send the packets.
EDIT: This is not a fix. You should listen for block updates, unloading etc.
from 2bored2wait.
@SiebeDW SiebeDW: yeah, that's exactly what I did but I haven't yet committed to my fork. I have looked into your fork but I haven't been able to find where have you implemented that
from 2bored2wait.
I had an idea to make the proxy just play back whatever the server sent before you joined, but that ended up being a problem because it was basically DoSing the client.
@themoonisacheese
How was it DoSing the client? If you filter out the encryption, compression, etc. packets will it work then? I've made it partially on my fork of this but i have not tried it on the main world only in the queue and it seems to work
from 2bored2wait.
Because he sent all packets, chat, particles, everything in 0 time.
I made a system that stores all chunk packets (only map data) in an array and when it detects /2b2w chunks, it sends them back to the client. Appearently I'm a noob and my message receiver function crashed the server when it received a chat, so I completley stoppled playing on 2b2t.
Hehe, I will try again, maybe sometime, but it worked with a web interface button. Just the chat function fu(ked it up, so I just quit.
So: storing all map packets (even when the proxyclient is online), wait for chat packet with /2b2w chunks, resend all map packets. You still won't get mobs, but you can just walk 8 chunks and get fresh chunks...
from 2bored2wait.
Wouldn't it be possible to store the latest position for every entityID and only send the newest packet so you get the right packet.
Also just sending advancement and recpie packet when the proxyClient connects is possible.
from 2bored2wait.
entities are updated relatively to their latest position. this means that you would have to keep a running total of their position to have their absolute position when the client connects. not completely impossible, but you can imagine it's not the current main development objective.
from 2bored2wait.
@sijanec is your code available publicly on your fork? i could try to see what's wrong and fix it.
from 2bored2wait.
yes, please do.
from 2bored2wait.
Mh, i think that you can fix it by requesting chunks again to the server
from 2bored2wait.
How do you do that? (F3 + A doesn't send packets if that's how)
from 2bored2wait.
from 2bored2wait.
my project mcidle fixes all the issues described here
from 2bored2wait.
from 2bored2wait.
While i don't really appreciate the advertising going on here, i have to concede that this project is largely dead and you're offering an alternative.
for anyone else reading this and considering using mcidle, please remember to use the same safety precautions as you would for any other program that asks you for your password, including 2b2w.
from 2bored2wait.
while reconnecting is not completely fixed, the new problems are better described in #148
from 2bored2wait.
Related Issues (20)
- Operation not permitted HOT 3
- mineflayer-anti-afk not working HOT 3
- Queue position broken HOT 5
- Change the server and the version HOT 3
- error in bot 2bored 2wait HOT 9
- Can't find full config file and error when proxy starts HOT 2
- Feature request HOT 1
- Using more than 3 accounts breaks proxy HOT 2
- Getting 2bored2wait to work on termux HOT 5
- what are make wich rooted? HOT 1
- Random positions in Queue HOT 3
- [Request] proxy sided modifications HOT 2
- Show alert in the frontend if the backend is done
- issue with install npm
- ETA and Player Queue are messed up HOT 2
- 1.19 update HOT 4
- Just a quick question HOT 1
- 1.19 progress? HOT 1
- Skin issue HOT 1
- 1.19 update HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from 2bored2wait.