Median XL: Sigma

Threads that no longer serve a purpose. Read-only.
User avatar
whist
Team Member
641 | 562
Legendary Popularity Badge
Has a thread with over 250.000 views
Legendary Love Badge
Earned over 500 cookies
Great Supporter Badge
Donated 5 times
Legendary Contribution Badge
Median XL Team Member
Alright, need help from the people managing the PVPGN server here. In the development of MXLS, there is some stuff that would need to be implemented on the PVPGN's server side. D2BS packet handlers for example. With that I could implement very neat stuff like server-side events, new ladder types, in-game tsw gold, and what not. Also I do think PVPGN doesn't fully support some Sigma changes (like the changed savefile format which caused problems when testing on the test D2GS aahz help me setup on my computer).

After a discussion with Marco (although he is not sure about that, hence why I'm asking here), it appears you are compiling your own modified PVPGN source. Apparently that's where features such as the /gs command were implemented. If that is the case, I would like to have access to the said modified source, so that I can also implement new features by myself and also make the required fixups for MXLS.

And what about D2GS & D2Server.dll? Do we have the source of that? Only source I found was some gibberish .asm file. For now I'm patching D2Server.dll directly from D2Sigma.dll (to fix some crappy stuff like the very badly implemented dclone event)

Also, how difficult would that be to setup a full PVPGN server (not only a D2GS) on my computer, so that I can actually test and mess around locally, without testing on the live server? (the server doesn't need to be publicly available like tsw, just need to be able to use it on my local computer)

Thanks for reading, and thank you guys for your continuous hard work that gives us this fantastic online realm for our project.
User avatar
aahz
Team Member
529 | 297
Great Popularity Badge
Has a thread with over 50.000 views
Great Love Badge
Earned over 100 cookies
Common Supporter Badge
Donated 1 time
Great Patron Badge
Patreon Contributor
Legendary Contribution Badge
Median XL Team Member
we use last stable pvpgn version (v1.85) with few patches (I'll send you those patches in PM)
1) pvpgn-1.8.5_gs_select_permament2.patch
- most important patch that enables selecting GS permanently (/gs command) or temporary (game description)

2) pvpgn-1.8.5_log_charsize.patch
- not needed anymore, it was used to monitor when charsave reaches 8KB

3) pvpgn-1.8.5_log1_bans.patch
- add (more) information to bnetd.log about (un)banning/(un)locking players

4) pvpgn-1.8.5_log2_login.patch
- add IP of player to several log messages

for D2GS we use standard 1.13C files (D2GS-113c(3).zip from http://www.pvpgn.pl/d2gs/)

setting up local PVPGN server shouldn't be difficult...see http://pvpgn.wikia.com/wiki/Installation and http://pvpgn.wikia.com/wiki/Windows_Diablo_II_Server
and ask if you need anything...
https://tsw.vn.cz - TSW realm stats (& Quests, NotArmory, HC chars)
User avatar
whist
Team Member
641 | 562
Legendary Popularity Badge
Has a thread with over 250.000 views
Legendary Love Badge
Earned over 500 cookies
Great Supporter Badge
Donated 5 times
Legendary Contribution Badge
Median XL Team Member
Alright, so that's the D2GS source I had found by myself on the web. Looks like I will keep on patching from D2Sigma.dll.
As for these .patch files, I wasn't used to this format, but after a quick search, I understood they are scripts that edit files. From a quick look, it looks like it edits the source files of PVPGN. So, question here. Why relying on .patch scripts, instead of just modding the source directly?
User avatar
aahz
Team Member
529 | 297
Great Popularity Badge
Has a thread with over 50.000 views
Great Love Badge
Earned over 100 cookies
Common Supporter Badge
Donated 1 time
Great Patron Badge
Patreon Contributor
Legendary Contribution Badge
Median XL Team Member
why use .patch files (diff) ?
there are probably many reasons and I'm not expert, but some reason's are:
easier to distribute - ok, in world of today's internet speeds it's not so important anymore...
no licence problem - you distribute only patch, without sources
it's safer - you can download sources and verify their checksum, then apply patches
you can choose what patches to apply
usually you can apply the same patch even on newer version of source app
...and probably many more reasons... it's mostly used by *nix systems

also I first modded the source and then created those patches (using diff) because I needed them to create pvpgn package for Arch linux
I think nobody works by creating patches directly...they're just result of comparing original sources with modified sources
https://tsw.vn.cz - TSW realm stats (& Quests, NotArmory, HC chars)
User avatar
whist
Team Member
641 | 562
Legendary Popularity Badge
Has a thread with over 250.000 views
Legendary Love Badge
Earned over 500 cookies
Great Supporter Badge
Donated 5 times
Legendary Contribution Badge
Median XL Team Member
So if I provide you a modified source code directly, you can easily generate .patch files for it? And what if I modify files that are patched by another patch? Will this create some kind of conflict?
User avatar
aahz
Team Member
529 | 297
Great Popularity Badge
Has a thread with over 50.000 views
Great Love Badge
Earned over 100 cookies
Common Supporter Badge
Donated 1 time
Great Patron Badge
Patreon Contributor
Legendary Contribution Badge
Median XL Team Member
sure, but it would be easier if you just create patch yourself (diff -ruaN original_source_directory modified_source_directory)
if you modify files (source_v1) already patched (creating source_v2) then you can
1) do diff between source_v1 and source_v2 - creating patch, that contains only your changes - which is better, but could fail to apply on unmodified source_v0 (if you changed some code that was added/modified in source_v1)
2) do diff between source_v0 (original unmodified) and source_v2 - creating patch that contains all patches...

I think the best would be to use git (or some other version control system)
https://tsw.vn.cz - TSW realm stats (& Quests, NotArmory, HC chars)
User avatar
whist
Team Member
641 | 562
Legendary Popularity Badge
Has a thread with over 250.000 views
Legendary Love Badge
Earned over 500 cookies
Great Supporter Badge
Donated 5 times
Legendary Contribution Badge
Median XL Team Member
Alright so...

easier to distribute - ok, in world of today's internet speeds it's not so important anymore...

As already mentioned, this doesn't change much anymore. And the full source uncompressed doesn't even reach 5MB

no licence problem - you distribute only patch, without sources

Valid point except we use the source privately, and don't see why we would want to distribute it. Besides PVPGN is distributed with a GNU General Public License.

it's safer - you can download sources and verify their checksum, then apply patches

Again, private use so this doesn't really matter either. Since we will be always using the same source privately.


That being said, there's only this point left...
you can choose what patches to apply


Valid point, but I would rather code in some form of configuration (actually PVPGN already has bunch of config options, so that's all about expanding it).
Relying on patches for extensive changes like I will need to do sounds very difficult & tedious. I might even get to add additional source files to the work base.

I don't mind adding in the current patches at the same time, they will likely need to be redone after extensive changes anyway.
User avatar
aahz
Team Member
529 | 297
Great Popularity Badge
Has a thread with over 50.000 views
Great Love Badge
Earned over 100 cookies
Common Supporter Badge
Donated 1 time
Great Patron Badge
Patreon Contributor
Legendary Contribution Badge
Median XL Team Member
enough about patches pls...

I wrote general reasons about why use patches

I sent you patches because that's what I have at hand (and what I'm used to)

Just send me modified sources then once it's done :)
https://tsw.vn.cz - TSW realm stats (& Quests, NotArmory, HC chars)
User avatar
whist
Team Member
641 | 562
Legendary Popularity Badge
Has a thread with over 250.000 views
Legendary Love Badge
Earned over 500 cookies
Great Supporter Badge
Donated 5 times
Legendary Contribution Badge
Median XL Team Member
Alright, thank you for your time & help. :thumb:
User avatar
aahz
Team Member
529 | 297
Great Popularity Badge
Has a thread with over 50.000 views
Great Love Badge
Earned over 100 cookies
Common Supporter Badge
Donated 1 time
Great Patron Badge
Patreon Contributor
Legendary Contribution Badge
Median XL Team Member
@whist : maybe you can use something from https://github.com/lolet/D2Ex2
https://tsw.vn.cz - TSW realm stats (& Quests, NotArmory, HC chars)