I’ve just gone through setting up a bunch of Android retro gaming devices, syncing to one unraid server. All are working well, bar one device. It was working fine for a bit, but now it can’t see the main server to sync to it. The log are below. I can’t understand how it was working and now isn’t! Driving me crazy  2025-09-04 18:59:35 INF syncthing v2.0.3 “Hafnium Hornet” (go1.25.0 android-arm64) reproducible-build@Catfriend1-syncthing-android 2025-08-22 07:00:05 UTC [noupgrade, stnoupgrade] (log.pkg=main) 2025-09-04 18:59:35 INF Calculated our device ID (device=XXXXXX removed XXXXX log.pkg=syncthing) 2025-09-04 18:59:36 INF Measured hashing performance (perf=“1687.31 MB/s” log.pkg=syncthing) 2025-09-04 18:59:36 INF Overall rate limit in use (send=“is unlimited” recv=“is unlimited” log.pkg=connections) 2025-09-04 18:59:36 INF Using discovery mechanism (identity=“global discovery server https://discovery-lookup.syncthing.net/v2/?noannounce” log.pkg=discover) 2025-09-04 18:59:36 INF Using discovery mechanism (identity=“global discovery server https://discovery-announce-v4.syncthing.net/v2/?nolookup” log.pkg=discover) 2025-09-04 18:59:36 INF Using discovery mechanism (identity=“global discovery server https://discovery-announce-v6.syncthing.net/v2/?nolookup” log.pkg=discover) 2025-09-04 18:59:36 INF Using discovery mechanism (identity=“IPv4 local broadcast discovery on port 21027” log.pkg=discover) 2025-09-04 18:59:36 INF Using discovery mechanism (identity=“IPv6 local multicast discovery on address [ff12::8384]:21027” log.pkg=discover) 2025-09-04 18:59:36 INF Creating new HTTPS certificate (log.pkg=api) 2025-09-04 18:59:36 INF Relay listener starting (id=dynamic+https://relays.syncthing.net/endpoint log.pkg=connections) 2025-09-04 18:59:36 INF QUIC listener starting (address=“[::]:22000” log.pkg=connections) 2025-09-04 18:59:36 INF GUI and API listening (address=127.0.0.1:8384 log.pkg=api) 2025-09-04 18:59:36 INF Access the GUI via the following URL: https://127.0.0.1:8384/ (log.pkg=api) 2025-09-04 18:59:36 INF Loaded configuration (name=“Odin2 Portal” log.pkg=syncthing) 2025-09-04 18:59:36 INF TCP listener starting (address=“[::]:22000” log.pkg=connections) 2025-09-04 18:59:48 WRN Failed to exchange Hello messages (device=QDHOXCS address=192.168.20.3:22000 error=“write tcp 192.168.0.21:22000->192.168.20.3:22000: write: connection reset by peer” log.pkg=connections) 2025-09-04 18:59:49 INF Joined relay (uri=relay://193.104.33.58:22067 log.pkg=relay/client) 2025-09-04 18:59:55 INF Detected NAT type (uri=quic://0.0.0.0:22000 type=“Port restricted NAT” log.pkg=connections) 2025-09-04 18:59:55 INF Resolved external address (uri=quic://0.0.0.0:22000 address=quic://88.97.177.212:7492 via:3478=stun.miwifi.com log.pkg=connections) 2025-09-04 19:00:00 WRN Failed to acquire open port (mapping=0.0.0.0:22000/UDP id=NAT-PMP@192.168.0.1 error=“getting new lease on NAT-PMP@192.168.0.1 (external port 59644 → internal port 22000): read udp 192.168.0.21:43868->192.168.0.1:5351: recvfrom: connection refused” log.pkg=nat) 2025-09-04 19:00:00 INF Detected NAT services (count=1 log.pkg=nat) 2025-09-04 19:00:24 WRN Failed to acquire open port (mapping=“[::]:22000/TCP” id=NAT-PMP@192.168.0.1 error=“getting new lease on NAT-PMP@192.168.0.1 (external port 59644 → internal port 22000): read udp 192.168.0.21:45210->192.168.0.1:5351: recvfrom: connection refused” log.pkg=nat) 2025-09-04 19:00:34 WRN Failed to acquire open port (mapping=0.0.0.0:22000/UDP mailto:id=NAT-PMP@192.168.0.1 error=“getting new lease on NAT-PMP@192.168.0.1 (external port 59644 → internal port 22000): read udp 192.168.0.21:50661->192.168.0.1:5351: recvfrom: connection refused” log.pkg=nat) 2025-09-04 19:00:48 WRN Failed to exchange Hello messages (device=QDHOXCS address=192.168.20.3:22000 error=“write tcp 192.168.0.21:22000->192.168.20.3:22000: write: connection reset by peer” log.pkg=connections) 2025-09-04 19:00:53 INF Established secure connection (device=QDHOXCS connection.local=192.168.0.21:42000 connection.remote=192.145.28.12:22067 connection.type=relay-client connection.lan=false connection.crypto=TLS1.3-TLS_AES_128_GCM_SHA256 connection.prio=50 connection.id=6324OV3DIRM4KURO0FCOV1F84U log.pkg=connections) 2025-09-04 19:00:53 INF New device connection (device=QDHOXCS address=192.145.28.12:22067 remote.name=“” remote.client=syncthing remote.version=v2.0.6 log.pkg=model) 2025-09-04 19:00:54 INF Lost device connection (kind=primary device=QDHOXCS connection=192.168.0.21:42000-192.145.28.12:22067/relay-client/TLS1.3-TLS_AES_128_GCM_SHA256/WAN-P50-6324OV3DIRM4KURO0FCOV1F84U error=“reading length: EOF” remaining=0 log.pkg=model) 2025-09-04 19:00:54 INF Connection closed (device=QDHOXCS connection=192.168.0.21:42000-192.145.28.12:22067/relay-client/TLS1.3-TLS_AES_128_GCM_SHA256/WAN-P50-6324OV3DIRM4KURO0FCOV1F84U error=“reading length: EOF” log.pkg=model) 2025-09-04 19:01:00 INF Sent usage report (version=3 log.pkg=ur)
Can you please post that log again, but using the code formatting in the post editor? It’s called “preformatted text” and the icon looks like this: </>
.
Oh wow I really butchered that. It got caught by a filter saying remove links as I’m a newbie, so I put it in textedit and that happened.
Anyway, I think my issue was down to my vlan setup and not realising the devices were communicating via WLAN, so when I turned off routing option to save battery they lost contact.
I’ve since rebuilt it all and made sure to put them on the same VLAN, and am currently scanning files. Fingers crossed.
OK here’s a question. When syncthing creates all these ._ files, they get added to my Emulation front end as games, really messing the interface up.
Is there a way to avoid that?
Syncthing doesn’t create such files, they’re likely already there, but you may not see them depending on the file browser settings (as they are usually hidden by default). You do have some conflicts though (see https://docs.syncthing.net/users/syncing.html#conflicting-changes).
Oh, how strange. Never seen those before at all. Perhaps my Unraid server does it for some reason.
Can I put ._* in the ignore pattern box to stop them syncing to my devices?
One further Q; if I want to sync ROMS except the gba folder I just put gba in the ignore pattern area correct?
Then if I want a different folder to sync gba to only one device, I can either sync that ROMS/gba folder only, or sync the whole ROMS folder with some syntax to ignore everything except gba? Which is best?
Yes.
Yes.
This will depend on the specific situation. What you need to avoid is syncing both ROMS
and ROMS/gba
between the same devices.
OK, I did that last time which may have caused some issues. Best to have two folders of ROMS one with !gba and one with gba? There will be some devices that take both.
Syncing nested folders can be tricky, so unless you know exactly what you’re doing, for the device in question I’d suggest including just !gba
and ignoring everything else.
Ideally I want to syncthing to deal with this situation:"
1 small device just plays gba (ROMS folder with !gba ignore pattern) 3 larger devices play all ROMS inc gba (ROMS folder with gba ignore pattern)
Does that seem likely to work?
Not working, the .stignore files overwrite each other as they’re in the same folder. hmm.
I think I see what you mean now, just use ROMS and on one device do !gba etc for the folders I want to include.
I don’t think I understand the ignore patterns well enough.
I had thought putting !gba !gbc etc in the ignore pattern of the ROMS folder on the device I only want a subset on would only bring those folders down, but it appears to be syncing the whole lot currently.
edit, missed the * to ignore everything else! I think I’ve got it now:
!gba !gbc *
Thanks for all your help.