Source code of Unofficial Patch 1.5 Launcher for 100$+ donations!

ImageImageTalking about Modding for EE2 and EE2 AOS. New maps, patches, programs and Multiplayer scenarios.
Post Reply
User avatar
Dr.MonaLisa
High Representative
Posts: 7624
Joined: 17 Jun 2010, 11:21
Location: Poland

Source code of Unofficial Patch 1.5 Launcher for 100$+ donations!

Post by Dr.MonaLisa » 15 Nov 2017, 03:39

First of all: I didn't create this topic to earn money for myself (even thought I don't see any reason why it would be something wrong), but because it's recently hard to cover Servers costs. Currently EE2.eu uses 3 Servers (for Website, Multiplayer Lobby, MonaNAT, Backups, etc.). I thought that "selling" the source code for people who need it could be a good idea.

For obvious reasons I can't make the C++ source code of Unofficial Patch 1.5 Launchers public. It's because it could be abused by people with bad intentions, finding security holes, etc. The only smart solution is setting up a fair price, which is a donation of minimum 100 USD, made at https://www.ee2.eu/overview/#donate

What does the source code have?
The Launcher is NOT the game source code! It was one of my first C++ programs. The code is horribly ugly and almost all functions are in a single .cpp file which is over 40800 lines of code (+ external dependencies). Most of the code was written by myself (obviously without common functions that could be found online). It's the program which is used to start EE2, enable game fixes, etc. (more features later in this post). I started to work on the Launcher when I was 14.

What would you need the source code for?
If you had the source code of the Launcher, you could modify it as you like (then compile), disable functions which you don't like, check how existing functions work, copy functions from the Launcher to your own programs, etc. You can also analyze the security and see how your hardware information are managed.

What does the Launcher do?
Some of Launcher functions (from the important point of view) are listed in the Unofficial Patch 1.5 changes list: https://www.ee2.eu/patch/#changes (ctrl+F Launcher).
Other features that might interest you are:
- Support chat which uses CURL + php to work. It works flawlessly and users sent over 139284 messages.
- News window which displays messages depending on user hardware.
- Configuration Utility, where you can enable/disable fixes.
- Custom screen resolution Generator for EE2.
- Maximization Helper, so you can better understand how Maximization problems are being fixed.
- Function to generate user's Unique ID, depending on installed hardware, motherboard ID, etc.
- BB-code-a-like Windows 8/10 Toast Notifications, functions fully created by me (the Launcher understands BBcode from a Server to display notifications).
- Many functions that check and modify EE2 files (for example settings.cfg file) to solve game problems.
- Minor Update installer downloader function.
- Currently unused function to modify game process memory for additional fixes (old checksum in-Ram replace function).
- Many anti-cheating functions, which were used in the past to block Multiplayer cheaters (for example detection of buildings deletion in too short period of time).
- KeepAlive functions, which show live statistics at the website: https://www.ee2.eu/statistics/ (Please note that the website source scripts are not on sale).
- System registry operations functions (used for fixing and modify EE2 registry keys).
- ZIP compression functions (used to backup user data, etc.)
- Crash reporting functions with playback file upload on game crash detection (The launcher asks to send the playback file when Unhandled Exception is detected).
- Example of how to use RichEdit to display text (used by News window, Chat).
- Example of how to read settings from the Configuration file / commandline arguments.
- Many unique functions like "string with HEX characters to HEX", etc.
- CRC32 checksum verification functions, which help to detect damaged installation.
- Installation Validator functions which scan game files and generate reports (used for Support Chat when needed).
- Perfectly working DLL injection functions, using many methods in case when previous method fails.
- User hardware information gathering functions (name of graphics cards, CPU, amount of RAM, used for statistics/news window).
- Example of how to handle Multiple program threads (most of the Launcher functions work separately).
- Example of file operation functions (copy, connect, delete, etc.), used for example for Game .exe generation from the source files.
- Example of how to manage uPnP using a different process.
- Many functions showing how the Launcher windows are drawn.
- Version checking, using configuration from the Server to enable/disable Launcher features (sometimes used to disable problematic functions after users report crashes or other problems).
- Displaying around ~100+ warnings + handling actions depending on user choice (for example when a problematic file is detected, file is missing, registry key is incorrect, etc.).
- Example of how connections to the Server are made using CURL.
- Displaying of Splash screens + custom splash screens for special events (Halloween, Christmas, downloaded from the Server).
- Using DirectX8 function to find the name of GPU (to detect newest Windows 10 GPU not detected in old games problem).
... and much, much more. It's hard to list it now.

I have been working on the Launcher for long years. Every month I was improving it, fixing bugs, creating new functions.
Basically all features you see in the Launcher are present in the source code.

How to get the source code?
0. Make sure I'm not dead. The "trusted person" will post a message on Twitter https://twitter.com/EE2News in case I died.
1. Donate minimum 100$ (USD) at: https://www.ee2.eu/overview/#donate
2. When you receive a confirmation message from me (which always is sent manually), reply to this message asking for the source code of the Launcher:
- Please don't forget to write a reason what you're going to use the code for. If the reason is not acceptable - you won't receive the code.
3. In case of problems (or when I for some reasons ignore your mail), please post in this topic so we can resolve the issue as fast as possible.

Rules:
1. First of all, you're donating on the Unofficial Patch 1.5 project, not "buying" the source code.
2. Once the donation is made and the source code is set, it won't be refunded, even if you're not happy with the received source code (because you've donated on the Patch, not to get the code).
3. I can show where functions you're interested in are in the code, but I can't promise that I help you to setup the compiler / external dependencies to make a compilation successful. I also won't re-write the code for you to integrate it with your program.
4. I use Visual Studio 2017, and the Launcher is in C++ with WinAPI. .NET Framework or MSVC are not used, and actually can't be easily enabled (I tried to use some of MSVC functions but it was too many things to fix). The launcher is compiling as standalone executable, so you will never get a "missing .dll" problem.
5. If you modify the Launcher behavior, you have absolutely no rights to make it public and downloadable anywhere. You can still send it to your friends/family if you want to play with them. I don't mean that you can't use the functions from the Launcher, but that you are not allowed to make modified launcher for EE2 public. It could be abused and destroy the whole UP1.5 idea.
6. The source code of the Launcher does not include any of databases from the EE2.eu Server. Chat messages, statistics databases, etc. You're only receiving the C++ code, nothing else. Also, I don't need to share the .php scripts (however please don't feel afraid to ask, I can make exceptions when needed, just don't expect to get too many scripts).
7. The source code of the Launcher does not include Installers code (Full installer, Minor installer), where an additional license (which I have from Indigo Rose is required).
8. The source code of the Launcher does not include the EE2.eu Multiplayer Lobby, which for users security is under a strictly protection.
9. If you don't want to donate 100$, please don't contact me. I don't care that you're poor, student or anything else. The whole idea of it is to prevent potential abuses, software thieves and to keep the EE2.eu running smoothly (thanks to the profit from it). Please understand and respect it.
10. Donations made before the creation date of this topic are not counted.
11. If you are not sure if you really want/need it or if you don't trust the Developer - please don't waste your time on it.

Total number of people who requested and received the source code of UP1.5 Launcher:
0

(Public information to not be assumed of "getting rich" from it, however even if I got rich from it - it wouldn't be something bad, I deserve billions for the time I spent on the patch :P).
Best regards,
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains


Townsendigital
Posts: 7
Joined: 06 Sep 2013, 11:23

Re: Source code of Unofficial Patch 1.5 Launcher for 100$+ donations!

Post by Townsendigital » 07 Sep 2018, 18:30

I think you would see more success just asking for donations outright, without the bother of buying source code, steep minimum cost, or the three-page list of rules.

Also, I don't know how many people still regularly play, but you could hold a tournament with an entry fee. If 8 people entered at $5, you could offer $20 to the winner and keep $20 toward the servers.

User avatar
Dr.MonaLisa
High Representative
Posts: 7624
Joined: 17 Jun 2010, 11:21
Location: Poland

Re: Source code of Unofficial Patch 1.5 Launcher for 100$+ donations!

Post by Dr.MonaLisa » 07 Sep 2018, 18:44

Townsendigital wrote:
07 Sep 2018, 18:30
I think you would see more success just asking for donations outright, without the bother of buying source code, steep minimum cost, or the three-page list of rules.

Also, I don't know how many people still regularly play, but you could hold a tournament with an entry fee. If 8 people entered at $5, you could offer $20 to the winner and keep $20 toward the servers.
Oh lol. Such monetization isn't a good idea. I don't want to give any reason for people to talk that this project was created "for money". The donation system is good as it is now.

The "Source code" thing is to scare people from asking about it on Support Chat, Forums, etc.
Best regards,
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains

Post Reply

Return to “EE2 files, modding, maps, testing, etc.”