"Filesharing" Tool für LAN-Party gesucht

Liesel Weppen

Urgestein
Thread Starter
Mitglied seit
20.07.2017
Beiträge
9.290
Bevor jemand meckert, das "Filesharing" steht in Anführungszeichen, weil es nicht darum geht illegale Daten auszutauschen, sondern praktisch um ein LAN-Kopiertool, das Filehsaring-mäßig bevorzugt aus mehreren Quellen saugen kann, mit Load-Balancing aus unterschiedlichen Quellen sozusagen.

Hintergrund ist ganz einfach: Da wo unsere LAN-Parties stattfinden, ist die Internetanbindung relativ dünn und weil trotz regelmäßigen mehrmaligen Hinweisen an die Teilnehmer, dass sie sich die Spiele bitte schon VOR der LAN-Party zuhause installieren (und upgedatet halten) sollen, sind immerwieder Spezialisten dabei, denen auf der Party einfällt, dass sie die 30GB Installation noch saugen müssten.

Es hat sich bewährt in Steam mit der integrierten Backupfunktion ein Backup zu erstellen, das dann im LAN zu kopieren und auf dem anderen Client zu installieren. Manchmal klappt das sogar komplett out-of-the-Box, manchmal will Steam immernoch was saugen, aber dann zumindest nicht die komplette Installation, sondern deutlich weniger.

Da die Kopiererei immer extrem nervige Wartezeiten verursacht und wir immer händisch rumhantieren, wer denn jetzt von welchem PC (über Windows Dateifreigabe) kopiert, damit auch jeder möglichst schnell kopiert und nicht 3 Empfänger vom selben Quell-PC um die Wartezeiten minimieren ist extrem nervig.

Daher meine Idee, sowas wie Torrent, nur muss das definitiv aufs LAN beschränkt sein, und zwar von der Software her schon. Ich will nicht original Torrent benutzen und dann irgendwie im Router Verbindungen blocken oder so gefummel.

Wir haben mal DLAN ausprobiert und das funktioniert prinzipiell schon. Allerdings ist das ziemlich umständlich, was die Dateifreigaben betrifft. Man kann nichts nichts in einen Ordner downloaden, den man nicht selbst sahred (was ja eigentlich Torrent-typisch ist, aber störend), was dann wiederrum dazu führt, dass Leute ihre kompletten Festplatten freigeben, damit sie einen Download auf diese machen können. :rolleyes:

Ich kann mir irgendwie kaum vorstellen, dass es sowas nicht gibt, aber ausser diesem DLAN habe ich absolut nichts gefunden.

Sollte jemand sowas kennen, wäre es auch kein Problem, wenn die Anwendung einen "Server" braucht, wir haben auf der LAN sowieso diverse Server laufen, die das übernehmen könnten. Nur MUSS es unabhängig laufen, es darf also auf keinen Fall zu irgendwelchen öffentlichen Servern im Internet telefonieren oder sowas.
Ich bin auch schon auf die Idee gekommen, dafür tatsächlich einen Torrent-Seed-Server zu verwenden, was Serverseitig ja eigentlich funktionieren müsste. Das Problem dabei ist nur eher, dass sich die Clients dann trotzdem nicht aufs LAN beschränken und auch auf öffentlichen Servern, etc suchen?!

Edit: Habe gerade noch "LAN-Share" gefunden, aber das ist offensichtlich ein Fork von DLAN.
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Guter Hinweis, aber wenn ich das richtig verstehe, kann ich da nicht vorab Downloads cachen? Das hilft also nur insofern, dass wenn 3 Leute ein Spiel installieren müssen, es nur einer runterlädt und die anderen beiden dann aus dem Cache kriegen. Ich will aber sogar diesen einen Download vermeiden, weil idR mindestens ein anderer Teilnehmer das Zeug sowieso schon lokal hat.
Die Dimension ist eine andere. Wir reden hier nicht davon eine "mickrige" 500Mbit/s Leitung auf 300 Teilnehmer zu entlasten, wir reden hier eher davon eine 3Mbit/s Leitung für 20 Teilnehmer zu schonen.

Wie gesagt, die Daten sind ja meist eh schon lokal da, nur die Verteilung erfolgt aktuell manuell, was halt ziemlich nervig ist.
 
Nerd incoming:

Ich habe mir gerade mal qBittorrent angeguckt und das hat einen integrierten Tracker, man kann private Torrents erstellen und das ganze müsste dann ja eigentlich per Definition nur im LAN gehen, wenn der Tracker auf 192.168.xx.yy läuft.
Da das ganze ja OpenSource ist, spiele ich gerade mit dem Gedanken, ob ich das nicht soweit runterstrippe, sämtliche Optionen entferne, usw, dass das ohnehin nur noch im LAN geht, also beim erstellen von Torrents die URL automatisch nur noch für LAN generiert wird, etc.

Bzw noch einfacher: qBittorrent aufm Server mit Tracker und das Qt-Torrent-Client-Example als Client... das könnte klappen.

Bzw. Meh, dann muss ich in das Torrent-Example erst das Torrent-erstellen einbauen... und dann bräuchte der Tracker noch eine Funktion um den Clients zu zeigen, was da ist, weil manuell dann wieder Torrent-Files rumschieben ist auch meh.

Naja, könnte klappen, ist aber auch weider ein ganzer Haufen an Arbeit um die jeweiligen Softwareteile so umzubauen. Die meisten Leute können gar nicht einschätzen wie scheiß viel Arbeit sowas "triviales" ist...
Ich hätte gern, dass jeder Teilnehmer auch sehen kann, was der Server für Torrents hat und die auswählen kann, statt einzelne Torrents von irgendwo nach irgendwo aktiv zu verteilen.
Ist auch wieder mühsam, wenn ich sagen muss, gehe auf die Dateifreigabe von Rechner XY, speicher dir das torrent, lade es im Client... usw.

Immerhin gibts mit qBittorrent schonmal eine Software die Trackerfähig ist und mit dem Qt-Torrent-Client-Example einen Client der nur Client ist.
 
Zuletzt bearbeitet:
Bei Steam ist das doch easy, Dateien von einem Rechner auf den anderen (ich glaub inkl. VDF) und installieren drücken, dann lädt der nur bei wenigen Spielen überhaupt noch was nach, dass dann mit Steamcache abfangen, damit nur einmal nötig.
 
Bei Steam ist das doch easy, Dateien von einem Rechner auf den anderen (ich glaub inkl. VDF)
Du hast das Problem nicht verstanden.
Idealfall: 3 Leute (a, b, c) haben die Daten, 3 Leute (d, e, f) brauchen die Daten. Momentan sorgen wir manuell dafür, dass a von d, b von e und c von f kopiert, weil halt alle nur mit 1Gbit/s am LAN hängen. Das ist ansich schon müßig jedem manuell sagen zu müssen, von wo er kopieren soll.
Fall 2: 3 Leute wollen downloaden, aber nur 2 Leute haben die Sourcen. Wieder manuell verteilt geht das. Ein Upload ist dann überlastet, aber immerhin. Was schon uploaded wurde, wird aber nicht neu verteilt. Im Gegensatz zu torrent, dort werden auch unvollständige Downloads "recycled", also wenn Saug-Client A schon 10GB gezogen hat, auch wenn er noch nicht alles hat, verteilt er die 10GB schonmal weiter und schafft damit 1Gbit/s (Full Duplex) mehr Upload.
 
Guter Hinweis, aber wenn ich das richtig verstehe, kann ich da nicht vorab Downloads cachen? Das hilft also nur insofern, dass wenn 3 Leute ein Spiel installieren müssen, es nur einer runterlädt und die anderen beiden dann aus dem Cache kriegen. Ich will aber sogar diesen einen Download vermeiden, weil idR mindestens ein anderer Teilnehmer das Zeug sowieso schon lokal hat.
Die Dimension ist eine andere. Wir reden hier nicht davon eine "mickrige" 500Mbit/s Leitung auf 300 Teilnehmer zu entlasten, wir reden hier eher davon eine 3Mbit/s Leitung für 20 Teilnehmer zu schonen.

Wie gesagt, die Daten sind ja meist eh schon lokal da, nur die Verteilung erfolgt aktuell manuell, was halt ziemlich nervig ist.

Du musst halt den SteamCache schon vorher füllen. Du setzt daheim den SteamCache-Server auf und lädst dann von deinem PC aus alle Steam-Spiele die ihr spielen wollt (mit dem SteamCache-Sever zwischendrin).
 
Du musst halt den SteamCache schon vorher füllen. Du setzt daheim den SteamCache-Server auf und lädst dann von deinem PC aus alle Steam-Spiele die ihr spielen wollt (mit dem SteamCache-Sever zwischendrin).
Dazu müsste ich die Spiele auf meinem Account besitzen, die der Rest spielen will. Und ich müsste die neu runterladen. Ich habe aber nicht alles und spiele nicht bei allem mit, was irgendjemand letztendlich spielen will.

Kann man machen, klar, ist aber nicht die Idee der Aktion.
 
DC++ ist ein gängiges Tool für LAN Parties, um Dateien zu verteilen.
 
Ahja, DC++ hatte ich mir auch schonmal angeschaut. Da fällt mir auch wieder ein, was das Problem bei Torrent und DC++ war: Es kann nur einzelne Files sharen und keine kompletten Verzeichnisse. Man kann also nicht einfach eine komplette Steaminstallation sharen, sondern muss die erst packen und dann das File sharen... Und das braucht wieder Zeit, Host muss es erst packen, dann kopieren, Ziel muss es wieder entpacken und man braucht überhaupt den nötigen Speicherplatz, was das ganze enorm aufbläht, wenn ich vorab schon für Kopierbares sorgen will.
DLAN kann dagegen ganze Verzeichnisse sharen und man kann auch komplette Verzeichnisse mit X einzelnen Dateien komplett kopieren...

Find ich irgendwie alles nicht so prickelnd.
 
Zuletzt bearbeitet:
einfach nen schnellen usb stick nehmen^^?
 
einfach nen schnellen usb stick nehmen^^?
Ohne-LAN Party. Jeder speichert seinen Zug auf einen USB-Stick und reicht ihn an den Mitspieler rechts neben sich weiter.

Die nächste Weiterentwicklungsstufe wäre dann bei 16 Teilnehmern Hot-Seat an nur einem PC. :P
 
Ich bin der Meinung, dass man bei DC++ ganze Verzeichnisse teilen kann.
 
Jup. Kann man.
 
Hmmm, ok, dann guck ich mir das nochmal genauer an, wenn das gehen soll.
 
Welcher Clone von DC++ wäre denn empfehlenswert?
 
Ok, also DC++ habe ich jetzt mal ausprobiert mit einem PtoKax Hub und dem orignalen DC++ Client.

Man kann tatsächlich ganze Ordner kopieren, aber das ist damit so unglaublich langsam, da bin ich schneller wenn ich jede Datei einzeln im Hexeditor aufmache und der Person am Zielrechner die Zahlen diktiere.

Das mag sich bei größeren Dateien aufheben, aber einen ganzen Steaminstallationsordner komplett zu kopieren kann man damit vergessen.

Scheint wohl immernoch das effektivste zu sein, das Zeug doch einfach über diverse Windowsfreigaben zu kopieren und dabei "manuell" zu loadbalancen.
 
und warum nicht einfach nen ftp server erstellen ? z.B mit Serv-u...
Also Wikipedia sagt zu Serv-U nicht, dass das irgendwelche Anstalten von Load-Balancing machen würde. Also was bringt mir das?
Einen "normalen" FTP-Server brauche ich nicht, da ist die Windows-Dateifreigabe noch effektiver und weit einfacher zu benutzen.

Wenn 5 Leute aus 3 Quellen ziehen, muss ich manuell verteilen, wer wovon kopiert. Egal ob Windows-Dateifreigabe oder FTP-Server. Zudem wäre es enorm Vorteilhaft, wenn die 5 Clients die kopieren, das was sie schon kopiert haben (zumindest auf Dateiebene) resharen würden.
Also eben der Torrent-Ansatz.
Der begrenzende Faktor ist die Netzwerkverbindung zwischen den Rechnern, in meinem Fall ist das LAN mit 1Gbit/s. Mal ungeachtet der Tatsache das 1000e kleine Files die Transferrate sowieso in den Keller ziehen.
Ich habe 3 Quellen und 5 Clients. Jetzt lasse ich per Windows-Dateifreigabe/FTP Client 1 von Server 1, Client 2 von Server 2, Client 3 von Server 3, Client 4 von wiederrum Server 1 und Client 5 von wiedderrum Server 2 ziehen.
Server 1 und 2 liefert jetzt nur noch 500Mbit/s pro Verbindung. Und selbst das ist noch manuell verteilt. Eigentlich will ich gar nicht manuell verteilen, dass Client 1 und 4 von Server 1 ziehen sollen. Ich will das der Client weiß, was es für Quellen gibt und von der Quelle kopiert, die am meisten Ressourcen frei hat.
Und wenn der jeweilige Client "Abschnitte" schon fertig kopiert hat, kann er die ja auch selber weiterverteilen. Also wenn Client 1 schon 500MB gesaugt hat, dann muss Client 4 die Daten ja nichtmehr nur von einem der 3 Server laden, sondern könnte ja auch einen Teil davon von diesem Client holen.
So funktionert afaik Torrent, aber halt nur mit ganzen Dateien, das ist allerdings für meinen Einstatzzweck unbrauchbar.
 
Bei 5 Leuten würd ich einfach mit zwei externen USB3.0-Platten hantieren. Wenns aber doch wie oben beschrieben 20 sind, dann siehts anders aus ...

Früher haben wir bei größeren LANs, ab ca. 25 Teilnehmern, einfach einen FTP-Server aufgesetzt, der dediziert nur dafür da war. (Später gabs, da war ich aber dann schon nicht mehr beteiligt, glaub zweitweise dann auch einen lokalen Emule-Server... da beim FTP-Server das von dir beschriebene eintritt, dass die Performance halt doch in den Keller geht... deswegen wurde der FTP-Server zum Emule-Server und jeder der sich was geladen hat, verteilte dass dann auch automatisch wieder bzw. konnte sogar Dinge selber bereitstellen)
 
Ich hatte vor > 10 Jahren mal DirectConnect (DC++, oDC) verwendet damit auf einer LAN die Leute untereinander ihren eigenen Kram tauschen können aber auch die Erfahrung gemacht dass die Daten nur relativ träge übertragen werden. Bin dann schnell wieder davon weg gekommen, habs mir aber Jahrelang nicht mehr angeschaut.

Inzwischen nutzen wir auf LANs einen kleinen Server (Intel Atom) und tauschen das Zeug über eine normale Windowsfreigabe die auf einer SSD liegt, dann braucht auch keiner irgendwelche speziellen Tools installieren um überhaupt Zugriff zu bekommen.

Die Kiste ist per 2x 1 GBit/s angebunden und das bekommt man wenn mehrere Leute gleichzeitig ziehen auch problemlos ausgelastet. Je nach NIC und Switch kannst du ja problemlos auch 4 Leitungen bündeln.
Bis 20 Leute hat das bisher sehr gut funktioniert.
Der Server hängt dabei immer am Core Switch an dem dann alle anderen Switches hängen (idr. haben wir insgesamt 2-3 (Web-) Managed Switches im Einsatz die maßlos überdimensioniert sind).

Am Anfang war in dem Server noch ne Platte drin, das war aber grausam sobald mehr als 2-3 Leute was gezogen haben. Dann bricht die Übertragung schnell so extrem ein dass es keinen Spaß mehr macht (teilweise < 1 MB/s).
 
Zuletzt bearbeitet:
ich würde einen PC mit schneller SSD und 10Gbit ausstatten.
10Gbit Uplink dann an den Switch. Da kann dann mit 10 Leuten gleichzeitig mit 1GBit gezogen werden.
 
Wir reden aneinander vorbei...

Ich versuche es nochmal zu erklären: Ich bin nicht interessiert an einer privaten DVD-Rip-Tauschbörse, wo man den 4GB große Einzeldateien kopiert und den Kopiervorgang auch im Hintergrund weiterlaufen lassen kann, weil es im Endeffekt ja eh nicht interessiert ob er das jetzt in 10min oder in 2h kopiert hat.

Ich rede davon, dass 3 Leute ein (worstcast 60GB) Spiel schon lokal haben und 5 Leute das aber erst laden müssen (2 davon haben es spontan mal schnell gerade erst gekauft, 3 haben mal wieder den Hinweis verpennt, dass sie Spiele die sie eh schon besitzen doch bitte vor der LAN schon zuhause installieren sollten). Es steht also ein Datentransfer von 5x60GB aus 3x60GB Quellen an. Und bis alle 8 Leute das Spiel vollständig haben, wartet JEDER, weil man ja idR nicht schonmal zu dritt anfangen kann oder will. Da spielt es dann eben schon eine Rolle, ob das jetzt ne Stunde dauert, oder ob das schon nach 30min durch ist.

Aktuell (abgesehen von dem Experiment mit DLAN) machen wir das auch so, dass man dann aktuell manuell festlegt Sauger A und B kopieren von Quelle X, Sauger C und D kopieren von Quelle Y und Sauger E kopiert von Quelle Z, per Windows-Dateifreigabe. Mein Ziel wäre es aber genau das effizienter und damit schneller zu machen. Zudem wenn E schon 20GB kopiert hat, weil der als 1:1 Verbindung wohl am schnellsten saugt, könnten A, B, C und D wie das ja bei Filesharing eigentlich typisch ist, Teile davon auch schonmal von E kopieren, damit die Quellen Z mit ihren Doppelsaugern entlastet werden.
 
1 GBit/s pro Download erreichst du normal eh nicht, realistisch bewegst du ich bei ca 40-60% davon.
Und wenn sich's gegenseitig etwas bremst kann man damit in gewissen Maßen ja leben, insofern kommst du mit 10 Gb/s schon eher auf > 20 Leute die du ohne Einbußen versorgen könntest solang die SSD nicht vorher einbricht.
Darf halt dann keine SATA SSD mehr sein oder ein RAID muss her.

Realistisch gesehen braucht man meistens viel weniger Bandbreite als man denkt.

Mein Gameserver hat sogar noch SATA 2.
 
Ich habe aber schon 3 Quellen die jeweils 1Gbit/s liefern können und deren Festplatten-Defizit nicht gleich ums 5fache einbricht, weil über 10Gbit/s trotzdem alle von der gleichen Quellfestplatte kopieren, daran ändert auch ein Raid oder eine PCIe-SSD nichts. Ich möchte das, was sowieso schon vorhanden ist, effizienter nutzen.... ist das wirklich so verdammt schwer zu verstehen?

Dafür muss ich mir weder extra eine 10GBit/s Netzwerkkarte kaufen, noch extra einen Switch kaufen der zumindest mal einen Rechner mit 10Gbit/s anbinden könnte, und dann bräuchte ich sogar noch neue Festplatten, damit die wiederrum überhaupt 10Gbit/s rausschaufeln können, zumindest dann, wenn nicht sowieso viele kleine Zugriffe die Festplatte selbst bei nur 1Gbit/s Netzwerk zum Falschenhals machen.
 
Das wäre dann doch eher ein Fall für DC++ / oDC oder BitTorrent. Wie da aber das Handling im LAN ist und vor allem die Performance musst du dann direkt mal selber testen.
Bei DC musst du halt nicht erst ein Torrent erstellen sondern kannst die frei gegebenen Odner und Dateien direkt suchen.

Mit BitTorrent im LAN hab ich noch keine Erfahrung, sollte aber durchaus Potential haben.
 
Habe ich doch alles weiteroben schon geschrieben:

Bittorrent funktioniert recht gut, was die Geschwindigkeit angeht. Bittorrent kann aber aber nur ganze Dateien sahren und saugen. Damit kann ich mir keinen ganzen Ordner kopieren. Der Geschwindigkeitsvorteil geht dadurch wieder verloren, dass die Quelle die ganze Spielinstallation zippen muss und jeder Empfänger halt auch wieder entpacken muss.

DC habe ich ausprobiert, aber das ist sowas von arschlangsam, wenn man viele kleine Dateien kopiert, also das wo auch Festplatten langsam werden, wird DC nochmal um Faktor 100 langsamer. Es hatte bei mir nach 10min 18MB kopiert... Ich vermute, dass DC für jede einzelne Datei eine neue Verbindung öffnet, ggf. sogar bei jeder einzelnen Datei nochmal mit dem Hub synct, usw. Dann wundert es mich überhaupt nicht, dass das so extrem langsam ist. Für den eigentlichen Einsatzzweck des Tools spielt das halt nur keine Rolle, weil die ist ja eher einzlne, aber größere Dateien zu tauschen.
 
Wir reden aneinander vorbei...
vielleicht.

Ich stelle mir das in meiner Phantasie so vor:
Du hast diesen PC mit M.2 SSD und 10Gbit SFP+ -> Switch 24x1Gbit Ports
(ich gehe davon aus, das die LAN Kandidaten eh nur maximal 1Gbit Onboard haben).

Der PC wird vor der LAN an einer Internetleitung geupdatet. Die Daten sind da also vorhanden.
Nun können die 8 Leute ihre 60GB mit 1Gbit/s pro Sekunde ziehen. Schneller würde es dann auch mit anderer Software dann auch nicht gehen.

Falls man dann nicht alles braucht würde ich FreeFileSync zum kopieren nehmen.
 
Zuletzt bearbeitet:
Ich habe aber schon 3 Quellen die jeweils 1Gbit/s liefern können und deren Festplatten-Defizit nicht gleich ums 5fache einbricht, weil über 10Gbit/s trotzdem alle von der gleichen Quellfestplatte kopieren, daran ändert auch ein Raid oder eine PCIe-SSD nichts. Ich möchte das, was sowieso schon vorhanden ist, effizienter nutzen.... ist das wirklich so verdammt schwer zu verstehen?
Nein, ist nicht schwer zu verstehen.

Ist und bleibt nur ziemlich sinnlos.

Kopieren einfach im Hintergrund anschmeissen und irgendein kleines Game zum Warm werden starten, du hälst an den 60GB fest, aber welche Games haben denn überhaupt 60GB und wieviele verschiedene Games werden auf der LAN wohl gespielt?


Beim Verteilen hast du Probleme mit:

Unterschiedlichen Quellmaterialien (kommt aufs Tool an, aber eine Differenz kann dir alle Quellen zerschiesesn)
Lahme Quell- und vor allem Zieldatenträger
Lahme Switches
Gamestarts während des Verteilens (Locking und co)
Usereinweisung


Und jetzt mal in Echt:
Du sparst vielleicht 5 Minuten pro Rechner, der das Game nicht hat, das sind dann die Bereiche, wo Tausende von kleinen Dateien vorkommen und man deshalb Zeit verliert, dafür musst du irgendwelchen Kram installieren und dem User zeigen, was wie wo er machen muss. Und selbst 20 Minuten sind nichts auf einer LAN, die verquatscht man doch locker.
Klar ist eine Sexy Lösung immer toll und ein nettes Gedankenspiel, aber darüber sollte man dann reden, wenn es nicht weniger als 10 sondern mehr als 500 User sind, ansonsten ist der Kosten/Nutzenfaktor relativ mau.
Wichtig: LAN = Spaß = kein Stress

Eine Sexy Lösung wäre für mich:
- mehrere Hardwareserver mit SSD-only oder zumindestens SSD-Cache
- z.b. DFS zur Verteilung der Lasten über Namespaces auf alle Server und auch zum Sync der Server untereinander
- Anbindung mit mind. 2x 1 GBit/s pro Server bzw. 10 GBit/s
- Downloads wenn dann nur indirekt über z.b. einen Steamcache

Eine Teillösung wäre, dass man die/den Server mit mehreren Netzwerkkarten an den Switch anstöpselt und halt versucht nen ausreichend großen SSD-Cache zu erstellen (z.b. mit PrimoCache), dann sollte man ~2-3 GBit/s Bandbreite bzw. 2 oder 3 x 1 GBit/s durchgängig erreichen.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh