It took me two weeks to finally find the way to sync with main Ropsten blockchain, because all topic-related questions were outdated.
I run Geth as geth --ropsten --cache=2048 --snapshot=false --syncmode=fast --whitelist 11356396=0xfbc4addc7d2ff815fb2f1025d2dd32b29db8d19af503dc9cb663830c65f49969
Took my laptop one night to sync with the network and I have even successfully mined a block :)
The key part here is --whitelist 11356396=0xfbc4addc7d2ff815fb2f1025d2dd32b29db8d19af503dc9cb663830c65f49969
. It means that all peers you want to connect to must have block 11356396
with hash 0xfbc4addc7d2ff815fb2f1025d2dd32b29db8d19af503dc9cb663830c65f49969
. You can leave that option as is or you can change it to your own, just take one of the latest block on https://ropsten.etherscan.io/ and copy its number and hash.
snapshot=false
- I didn't want to waste time on snapshot generation. I'm not a specialist on blockchain and can't possibly say what is it and why do you need it (or not).
--syncmode=fast
- I tried full
sync mode before, it took 3 days to complete, but after I restarted the node, I wasn't able to connect to any peer. So I had to delete everything and start fast
sync from scratch. With fast
sync I always have about 10-13 peers.
--cache=2048
- amount of memory for fast
syncing, you might want to adjust it according to your resources
P.S. I saw your question while was in search for the same answers as you do and I hope that it helps and the question is still relevant for you.