[Evaporation Project] Система дистрибуции файлов
-
- VIP
- Сообщения: 1437
- Зарегистрирован: 27.04.2008
- Благодарил (а): 42 раза
- Поблагодарили: 40 раз
MOZGIII
[spoiler=""перевод""]I want to discuss ways to distribute files of games. Namely, how will the transfer of data be.
At the moment, I considered the possible use of available protocols, namely, Direct Connect and BitTorrent. I've come to the conclusion that they both have some useless features and are quite complicated in implementation. And they don't have something, that I need. So, they were both pushed away as not suitable, but, if I won't find another option, I will use them.
Briefing completed:)
So, let's write our own protocol. Most likely from pieces of existing ones, but this is not particularly important.
And now, my questions:
First of all - what we want to get?
My thoughts on this subject:
1. Files are downloaded not from central server, but only from special additional servers.
2. Information about all files on all additional servers is on the master server. For him, we can probably use torrent term "tracker".
3. Files can be placed on several add. servers at once, so you can download from all available servers at once (with mirrors).
4. You can download one file at a time (one copy of the client can download only one file at the same time - that is not like uTorrent). Although the implementation of the protocol is not important. %)
5. Each file will have a unique identifier, that will be known on the master server. Perhaps this will be md5 hash file, but anyway it will be based on the content of the file.
6. To send multiple files or folders in the same alias, we will use archive or our own file format (no compression, just many files attached to each other).
That's all for now. I'm looking forward to your ideas, additions, disagreements, or even your own structure of the protocol ;)
UPD 07.05.09
I chose how we will transfer aliases, so paragraph 6 had already been determined. They will be transferred in the files with extension ".elib". The structure of these files is simple:
Code: [format identifier] [size of the overall title] [overall title - indicates the size of each file, the names of files and folders, and where they are, (subfolders, etc.)] [file1] [file2] [file3] [fileN][/spoiler]
И большая просьба, перед тем как дать задание на перевод с русского - исправляйте грамматические ошибки и правильно указывайте термины (например, вместо "скачка" - "скачивание")
[spoiler=""перевод""]I want to discuss ways to distribute files of games. Namely, how will the transfer of data be.
At the moment, I considered the possible use of available protocols, namely, Direct Connect and BitTorrent. I've come to the conclusion that they both have some useless features and are quite complicated in implementation. And they don't have something, that I need. So, they were both pushed away as not suitable, but, if I won't find another option, I will use them.
Briefing completed:)
So, let's write our own protocol. Most likely from pieces of existing ones, but this is not particularly important.
And now, my questions:
First of all - what we want to get?
My thoughts on this subject:
1. Files are downloaded not from central server, but only from special additional servers.
2. Information about all files on all additional servers is on the master server. For him, we can probably use torrent term "tracker".
3. Files can be placed on several add. servers at once, so you can download from all available servers at once (with mirrors).
4. You can download one file at a time (one copy of the client can download only one file at the same time - that is not like uTorrent). Although the implementation of the protocol is not important. %)
5. Each file will have a unique identifier, that will be known on the master server. Perhaps this will be md5 hash file, but anyway it will be based on the content of the file.
6. To send multiple files or folders in the same alias, we will use archive or our own file format (no compression, just many files attached to each other).
That's all for now. I'm looking forward to your ideas, additions, disagreements, or even your own structure of the protocol ;)
UPD 07.05.09
I chose how we will transfer aliases, so paragraph 6 had already been determined. They will be transferred in the files with extension ".elib". The structure of these files is simple:
Code: [format identifier] [size of the overall title] [overall title - indicates the size of each file, the names of files and folders, and where they are, (subfolders, etc.)] [file1] [file2] [file3] [fileN][/spoiler]
И большая просьба, перед тем как дать задание на перевод с русского - исправляйте грамматические ошибки и правильно указывайте термины (например, вместо "скачка" - "скачивание")
-
- VIP
- Сообщения: 2463
- Зарегистрирован: 13.12.2007
- Откуда: Latvia
- Поблагодарили: 2 раза
Не стал ждать твоего ответа на ЛС и создал тему в разделе переводчиковю
[spoiler=""Перевод от RedMan""]I want to discuss ways to distribute files of games. Namely, how will the transfer of data be.
At the moment, I considered the possible use of available protocols, namely, Direct Connect and BitTorrent. I've come to the conclusion that they both have some useless features and are quite complicated in implementation. And they don't have something, that I need. So, they were both pushed away as not suitable, but, if I won't find another option, I will use them.
Briefing completed:)
So, let's write our own protocol. Most likely from pieces of existing ones, but this is not particularly important.
And now, my questions:
First of all - what we want to get?
My thoughts on this subject:
1. Files are downloaded not from central server, but only from special additional servers.
2. Information about all files on all additional servers is on the master server. For him, we can probably use torrent term "tracker".
3. Files can be placed on several add. servers at once, so you can download from all available servers at once (with mirrors).
4. You can download one file at a time (one copy of the client can download only one file at the same time - that is not like uTorrent). Although the implementation of the protocol is not important. %)
5. Each file will have a unique identifier, that will be known on the master server. Perhaps this will be md5 hash file, but anyway it will be based on the content of the file.
6. To send multiple files or folders in the same alias, we will use archive or our own file format (no compression, just many files attached to each other).
That's all for now. I'm looking forward to your ideas, additions, disagreements, or even your own structure of the protocol ;)
UPD 07.05.09
I chose how we will transfer aliases, so paragraph 6 had already been determined. They will be transferred in the files with extension ".elib". The structure of these files is simple:
Code: [format identifier] [size of the overall title] [overall title - indicates the size of each file, the names of files and folders, and where they are, (subfolders, etc.)] [file1] [file2] [file3] [fileN][/spoiler]
[spoiler=""Перевод от RedMan""]I want to discuss ways to distribute files of games. Namely, how will the transfer of data be.
At the moment, I considered the possible use of available protocols, namely, Direct Connect and BitTorrent. I've come to the conclusion that they both have some useless features and are quite complicated in implementation. And they don't have something, that I need. So, they were both pushed away as not suitable, but, if I won't find another option, I will use them.
Briefing completed:)
So, let's write our own protocol. Most likely from pieces of existing ones, but this is not particularly important.
And now, my questions:
First of all - what we want to get?
My thoughts on this subject:
1. Files are downloaded not from central server, but only from special additional servers.
2. Information about all files on all additional servers is on the master server. For him, we can probably use torrent term "tracker".
3. Files can be placed on several add. servers at once, so you can download from all available servers at once (with mirrors).
4. You can download one file at a time (one copy of the client can download only one file at the same time - that is not like uTorrent). Although the implementation of the protocol is not important. %)
5. Each file will have a unique identifier, that will be known on the master server. Perhaps this will be md5 hash file, but anyway it will be based on the content of the file.
6. To send multiple files or folders in the same alias, we will use archive or our own file format (no compression, just many files attached to each other).
That's all for now. I'm looking forward to your ideas, additions, disagreements, or even your own structure of the protocol ;)
UPD 07.05.09
I chose how we will transfer aliases, so paragraph 6 had already been determined. They will be transferred in the files with extension ".elib". The structure of these files is simple:
Code: [format identifier] [size of the overall title] [overall title - indicates the size of each file, the names of files and folders, and where they are, (subfolders, etc.)] [file1] [file2] [file3] [fileN][/spoiler]
The Planet is fine. The people are fucked. — George Carlin
Science is interesting, and if you don't agree you can fuck off. — Richard Dawkins
Мой рогалик на JavaScript ⋅ Мой профиль на GitHub
Science is interesting, and if you don't agree you can fuck off. — Richard Dawkins
Мой рогалик на JavaScript ⋅ Мой профиль на GitHub
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
Red_Man, popoffka
Спасибо конечно, но нельзя же просто вот так без предыстории выкладывать такую тему на rin например. Они ничего про Evaporation Project незнают (я только тут постил)
Добавлено спустя 3 минуты 59 секунд:
А насчёт протокола - план действий таков. Надо выбирать что делать - писать таки свой протокол или использовать уже существующие. Можно, также, подождать пока andreil допишет сервер стандартного стимовского протокола и от него плясать. Но это, как сам andreil писал, будет не раньше чем через месяц.
Спасибо конечно, но нельзя же просто вот так без предыстории выкладывать такую тему на rin например. Они ничего про Evaporation Project незнают (я только тут постил)
Добавлено спустя 3 минуты 59 секунд:
А насчёт протокола - план действий таков. Надо выбирать что делать - писать таки свой протокол или использовать уже существующие. Можно, также, подождать пока andreil допишет сервер стандартного стимовского протокола и от него плясать. Но это, как сам andreil писал, будет не раньше чем через месяц.
- Megalan
- Разработчик
- Сообщения: 335
- Зарегистрирован: 02.04.2007
- Благодарил (а): 1 раз
- Поблагодарили: 29 раз
- Контактная информация:
nALLITeT
Эх, хоть он и называется tracker, но никак не относится ни к передаче данных, ни к битторент. Это friends, загляни в тему openvgui и сам убедись если не веришь. И тот протокол который он использует уж точно не подойдет для передачи файлов
по теме:
Идея конечно хорошая, если будете реализовывать на c# то я готов помочь.
Эх, хоть он и называется tracker, но никак не относится ни к передаче данных, ни к битторент. Это friends, загляни в тему openvgui и сам убедись если не веришь. И тот протокол который он использует уж точно не подойдет для передачи файлов
по теме:
Идея конечно хорошая, если будете реализовывать на c# то я готов помочь.
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
Megalan
Релизовывать планирую на Delphi
nALLITeT
Кажется это не так актуально - штуку с этим-же функционалом уже делает andreil. А насчёт перевариваня ядра старого стима - лучше туда не соваться :)
Релизовывать планирую на Delphi
nALLITeT
Кажется это не так актуально - штуку с этим-же функционалом уже делает andreil. А насчёт перевариваня ядра старого стима - лучше туда не соваться :)
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
x_000
А разрабам не очень %) Это ж надо интерпритировать много кода, вставлять туда свой код. А потом ещё и прописывать лишние элементы интерфейса... Например у DC нужен чат, поиск итд. А от торрентов - .torrent файлы.
Добавлено спустя 1 минуту 17 секунд:
А при написании своего протокола - гораздо больше свободы.
А разрабам не очень %) Это ж надо интерпритировать много кода, вставлять туда свой код. А потом ещё и прописывать лишние элементы интерфейса... Например у DC нужен чат, поиск итд. А от торрентов - .torrent файлы.
Добавлено спустя 1 минуту 17 секунд:
А при написании своего протокола - гораздо больше свободы.
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
"Свобода - это ответственность"
Это не всегда легко - начинать с нуля -, но если "цель оправдывает средства", то твоя воля.
Я стою на своём.
Это не всегда легко - начинать с нуля -, но если "цель оправдывает средства", то твоя воля.
Я стою на своём.
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
- impulse666
- Полковник
- Сообщения: 7405
- Зарегистрирован: 08.12.2005
- Откуда: Atman
- Благодарил (а): 2340 раз
- Поблагодарили: 590 раз
[spoiler=""от Snake 6""]I suggest to discuss ways of distribution of files of games. Namely as there will be a data transmission.
At present I have considered possibilities of use of already finished protocols, namely Direct Connect and BitTorrent. Also has come to conclusion, that both of them have superfluous functionality and are difficult enough in realisation. To that in them something is not present. Therefore both of them have been rejected by me as not approaching, that is on an extreme case.
The introduction is finished
Well here, means, we write our own protocol. Most likely from pieces of already existing, but it is not especially important
And now, actually, that I was going to discuss. First of all - that we wish to receive?
My thoughts about this:
1. Files downloading occurs not from the main server, but from special additional servers.
2. The information about all files on all additional servers is available on the main server. Probably for it we can use the term "tracker" from torrents system. For those whom don't like may speak the main server. %)
3. Files can be placed not on one additional server, but on several at once that it was possible to use downloading from several servers at once (with mirrors)
4. It will be made downloading of one file simultaneously (one copy of the client can download only one file - that is not as, for example the same uTorrent, and with turn in one file). Though for realisation of that protocol this is not important %)
5. Each file will be have the unique identifier under which it will be known on the main server. Possible it will be MD5 file hash, but in any case it will be based on file contents.
6. For folders transfer or several files in one alias it will be used either the archiver, or own format of files (without compression, it is simple integration several files in one).
For now, its all. I wait for your ideas - additions, critics or in general your own structure of protocol.
UPD 07.05.09
I have chosen how we can transfer aliases, so point 6 is already defined. They will be passed in type files.elib. Structure of these files will be simple:
Code:
[The format identifier] [the size of the general heading] [the general heading - the sizes of each file, names of files and folders and where they are, in meaning subfolders etc.] [file1] [file2] [file3] [fileN][/spoiler]
At present I have considered possibilities of use of already finished protocols, namely Direct Connect and BitTorrent. Also has come to conclusion, that both of them have superfluous functionality and are difficult enough in realisation. To that in them something is not present. Therefore both of them have been rejected by me as not approaching, that is on an extreme case.
The introduction is finished
Well here, means, we write our own protocol. Most likely from pieces of already existing, but it is not especially important
And now, actually, that I was going to discuss. First of all - that we wish to receive?
My thoughts about this:
1. Files downloading occurs not from the main server, but from special additional servers.
2. The information about all files on all additional servers is available on the main server. Probably for it we can use the term "tracker" from torrents system. For those whom don't like may speak the main server. %)
3. Files can be placed not on one additional server, but on several at once that it was possible to use downloading from several servers at once (with mirrors)
4. It will be made downloading of one file simultaneously (one copy of the client can download only one file - that is not as, for example the same uTorrent, and with turn in one file). Though for realisation of that protocol this is not important %)
5. Each file will be have the unique identifier under which it will be known on the main server. Possible it will be MD5 file hash, but in any case it will be based on file contents.
6. For folders transfer or several files in one alias it will be used either the archiver, or own format of files (without compression, it is simple integration several files in one).
For now, its all. I wait for your ideas - additions, critics or in general your own structure of protocol.
UPD 07.05.09
I have chosen how we can transfer aliases, so point 6 is already defined. They will be passed in type files.elib. Structure of these files will be simple:
Code:
[The format identifier] [the size of the general heading] [the general heading - the sizes of each file, names of files and folders and where they are, in meaning subfolders etc.] [file1] [file2] [file3] [fileN][/spoiler]