Results 1 to 10 of 22

Thread: multiplayer (and LNet)

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    As far my schedule permits it, I will, unfortunately this is a project I work on spare time.

  2. #2
    btw, probably I could use p2p to share world data between users in bit torrent manner and limit server bandwidth usage. Anyone done pascal torrenting?

  3. #3
    Torrenting in pascal is the tricky part of my project, as there are not any component ready to use. Some of the available are just wrappers for external libraries with really dark interfaces. There's a torrent library in Ares Galaxy, but still trying to understand how it works, as I'm looking for a way to separate it from the main core. To be honest I found it a complicated task to achieve, working on spare time.
    Last edited by pitfiend; 04-01-2014 at 06:31 AM.

  4. #4
    I remember a Pascal Torrent project a few years ago. It was quite stable but unfortunately it didn't support all the features of latest torrent protocol. It had no DHT support, it had no Peer to Peer seds exchange, no encripted transfers.
    As far as I know Pascal Torrent didn't depend on external libraries but it was trying to reimplement whole torrent protocol using Sockets.
    In the end I belive that orignal authors abandoned this project.

  5. #5
    Quote Originally Posted by SilverWarior View Post
    I remember a Pascal Torrent project a few years ago. It was quite stable but unfortunately it didn't support all the features of latest torrent protocol. It had no DHT support, it had no Peer to Peer seds exchange, no encripted transfers.
    As far as I know Pascal Torrent didn't depend on external libraries but it was trying to reimplement whole torrent protocol using Sockets.
    In the end I belive that orignal authors abandoned this project.
    The one I found inside Ares Galaxy, seems to have all the torrent protocol features. It's available on sourceforge here, as you can see it is announced as a free open source bittorrent and chat program. My trouble, I can't found any documentation (or maybe I'm looking in the wrong place).

  6. #6
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    You don't have to adhere to the bit-torrent protocol, you can do multi-part sharing of your own accord, split into arbirary parts, get the hash of each part (MD5 etc) and use it to confirm each part as it's transferred. A simple list of confirmed aquired parts (or fully downloaded etc) and you're onto a winner. I think bit-torrent does some funky hashing that allows it to CRC check individial parts from just having the entire file/torrent hash (some funky maths going on there) but you really don't need that. just store a file similar to a .torrent that contains a list of all the parts, their start-end offsets and their CRCs. You can flag the bits you've got in the hashing file so you can resume downloads. A process that calculates the CRC of the parts from the file you have can be used to determine what's good in the instance of a program crash / unclean shutdown.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  7. #7
    Quote Originally Posted by phibermon View Post
    You don't have to adhere to the bit-torrent protocol, you can do multi-part sharing of your own accord, split into arbirary parts, get the hash of each part (MD5 etc) and use it to confirm each part as it's transferred. A simple list of confirmed aquired parts (or fully downloaded etc) and you're onto a winner. I think bit-torrent does some funky hashing that allows it to CRC check individial parts from just having the entire file/torrent hash (some funky maths going on there) but you really don't need that. just store a file similar to a .torrent that contains a list of all the parts, their start-end offsets and their CRCs. You can flag the bits you've got in the hashing file so you can resume downloads. A process that calculates the CRC of the parts from the file you have can be used to determine what's good in the instance of a program crash / unclean shutdown.
    Seems logic, but why to invent the wheel if it already exists? One thing I want to use from bittorrent protocol is a new feature that allows to stream data the way you want. Actually it's focused to allow video stream over a p2p network, no one said it's the only use it. Also want to build a chat system over bittorrent or something alike.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •