The forum has been archived
While the forum may not be active, the community still lives on Discord! Click here to join us.
While the forum may not be active, the community still lives on Discord! Click here to join us.
About Custom Atmosphir Servers
- Sebastian Lawe
- Moderator
- Posts: 2534
- Joined: October 17th, 2012, 7:58 am
- Design Competitions Voted: 0
- Contact:
So, I've a found an application dedicated to obfuscating, or de-compiling a unity application. With it I was able to see the dll's that are stored in the Atmosphir.exe. Unfortunately, I need to buy license for the software in order to view Atmosphir's code.
The game logic would most likely be in the other ".unity3d" files. Because the Atmosphir.exe references stuff, and has code to use the resources outside of it, the Atmosphir.exe is what connects to the internet. Which means, until we were wanting to get a multiplayer server working at this current moment, the unity3d files won't be my concern. My goal is to have accounts and character customization working first (provided I can read the dll's stored inside Atmosphir.exe and get a rough idea what the game looks for when connecting online).
Edit:
Man, has this been a learning curve. All of Atmosphirs source code IS NOT stored in the executable. I'm now looking at all of Atmosphirs code via its external dll's.
I have also found the code that connects to Atmosphirs servers, I like how the code has the names of some of the developers in it.
In edition, there's even a Boolean value that determines whether the games in development mode or not. By changing that value to "true", you could be playing with bungies and NPC's.
I'm using an application called dotPeek to look at Atmosphir's source code.
The game logic would most likely be in the other ".unity3d" files. Because the Atmosphir.exe references stuff, and has code to use the resources outside of it, the Atmosphir.exe is what connects to the internet. Which means, until we were wanting to get a multiplayer server working at this current moment, the unity3d files won't be my concern. My goal is to have accounts and character customization working first (provided I can read the dll's stored inside Atmosphir.exe and get a rough idea what the game looks for when connecting online).
Edit:
Man, has this been a learning curve. All of Atmosphirs source code IS NOT stored in the executable. I'm now looking at all of Atmosphirs code via its external dll's.
I have also found the code that connects to Atmosphirs servers, I like how the code has the names of some of the developers in it.
In edition, there's even a Boolean value that determines whether the games in development mode or not. By changing that value to "true", you could be playing with bungies and NPC's.
I'm using an application called dotPeek to look at Atmosphir's source code.
- Sebastian Lawe
- Moderator
- Posts: 2534
- Joined: October 17th, 2012, 7:58 am
- Design Competitions Voted: 0
- Contact:
Sebastian Lawe wrote:So, I've a found an application dedicated to obfuscating, or de-compiling a unity application. With it I was able to see the names of the dll's that are stored in the Atmosphir.exe. Unfortunately, I need to buy a license for the software in order to view the code inside those dll's.
The game logic would most likely be in the other ".unity3d" files. Because the Atmosphir.exe references stuff, and has code to use the resources outside of it, the Atmosphir.exe is most likely what connects to the internet in the first place (rather than using external code stored in a .unity3d file). Which means, until we were wanting to get a multiplayer server working at this current moment, the unity3d files won't be my concern. My goal is to have accounts and character customization working first (provided I can read the dll's stored inside Atmosphir.exe and get a rough idea what the game looks for when connecting online).
- Phantomboy
- Moderator
- Posts: 5417
- Joined: October 9th, 2012, 11:04 am
Sounds promising Do you plan on purchasing it? I can understand not if it is quite expensive- Thank you for all of you efforts Sebastian, I greatly thank you and all those putting time into this project of ours!Sebastian Lawe wrote:So, I've a found an application dedicated to obfuscating, or de-compiling a unity application. With it I was able to see the dll's that are stored in the Atmosphir.exe. Unfortunately, I need to buy license for the software in order to view Atmosphir's code.
The game logic would most likely be in the other ".unity3d" files. Because the Atmosphir.exe references stuff, and has code to use the resources outside of it, the Atmosphir.exe is what connects to the internet. Which means, until we were wanting to get a multiplayer server working at this current moment, the unity3d files won't be my concern. My goal is to have accounts and character customization working first (provided I can read the dll's stored inside Atmosphir.exe and get a rough idea what the game looks for when connecting online).
- Sebastian Lawe
- Moderator
- Posts: 2534
- Joined: October 17th, 2012, 7:58 am
- Design Competitions Voted: 0
- Contact:
No need to purchase the app now. As you can see, I have all of Atmosphir's code in my hands. That's all I ever needed.Phantomboy wrote:Sounds promising Do you plan on purchasing it? I can understand not if it is quite expensive- Thank you for all of you efforts Sebastian, I greatly thank you and all those putting time into this project of ours!
However, I'm not familiar with unity. If I wanted to compile a modified build of Atmosphir, I would need somebody who knows how to re-integrate this code into a new unity project, as well as Atmosphir's .unity3d files.
Also, if your somebody who would like to help but knows Visual Basic instead of C#, your in luck. C# code can be translated Visual Basic, since both are converted to Intermediate Language (A common language between the two).
- Nazmus
- Member
- Posts: 132
- Joined: October 12th, 2012, 9:24 pm
I am much more "fluent" in visual basic than in C#. However, I only worked with Visual Studio. I never used Unity. But I would think the process of re-creating a unity project from the codes would be similar to how it's done in Visual Studio. In Visual Studio, you can import dlls (classes), text files, and almost any other files. I would think we can do the same with Unity. Take Unity, and import all the files. Maybe it's harder than I am making it sound. I am not that knowledgeable.Sebastian Lawe wrote:No need to purchase the app now. As you can see, I have all of Atmosphir's code in my hands. That's all I ever needed.
However, I'm not familiar with unity. If I wanted to compile a modified build of Atmosphir, I would need somebody who knows how to re-integrate this code into a new unity project, as well as Atmosphir's .unity3d files.
Also, if your somebody who would like to help but knows Visual Basic instead of C#, your in luck. C# code can be translated Visual Basic, since both are converted to Intermediate Language (A common language between the two).
- Phantomboy
- Moderator
- Posts: 5417
- Joined: October 9th, 2012, 11:04 am
Amazing work! Man, all of this goes way above my head- I would need to start learning Visual Basic.. Perhaps I could pick up a book on it, unfortunately I am sure actual learning process would take a while. I may be able to ask around see if someone I know has any knowledge of it. This is actually seeming more feasible guys although very difficult-Sebastian Lawe wrote:No need to purchase the app now. As you can see, I have all of Atmosphir's code in my hands. That's all I ever needed.
However, I'm not familiar with unity. If I wanted to compile a modified build of Atmosphir, I would need somebody who knows how to re-integrate this code into a new unity project, as well as Atmosphir's .unity3d files.
Also, if your somebody who would like to help but knows Visual Basic instead of C#, your in luck. C# code can be translated Visual Basic, since both are converted to Intermediate Language (A common language between the two).
- Nazmus
- Member
- Posts: 132
- Joined: October 12th, 2012, 9:24 pm
Here's a free video series from Microsoft to help you learn C#Phantomboy wrote:Amazing work! Man, all of this goes way above my head- I would need to start learning Visual Basic.. Perhaps I could pick up a book on it, unfortunately I am sure actual learning process would take a while. I may be able to ask around see if someone I know has any knowledge of it. This is actually seeming more feasible guys although very difficult-
http://channel9.msdn.com/Series/C-Sharp ... -Beginners
Here's a free video series from Microsoft to help you learn Visual Basic
http://channel9.msdn.com/Series/Visual- ... -Beginners
- Phantomboy
- Moderator
- Posts: 5417
- Joined: October 9th, 2012, 11:04 am
Haha, very much appreciated, friend! Now, Barns & Noble will never get the $33.61 out of me, Muwaha. I will watch these over the weekend I am sure I will be very little help but I can sure pretend! On a serious note I would honestly like to help if I can get enough information from cram-studding.Nazmus wrote:Here's a free video series from Microsoft to help you learn C#
http://channel9.msdn.com/Series/C-Sharp ... -Beginners
Here's a free video series from Microsoft to help you learn Visual Basic
http://channel9.msdn.com/Series/Visual- ... -Beginners
- Wowfunhappy
- Administrator
- Posts: 958
- Joined: September 30th, 2012, 12:46 pm
- Sebastian Lawe
- Moderator
- Posts: 2534
- Joined: October 17th, 2012, 7:58 am
- Design Competitions Voted: 0
- Contact:
- Nazmus
- Member
- Posts: 132
- Joined: October 12th, 2012, 9:24 pm
At the bare minimum, as Sebastian noted, an exe has to have the code to reference all the DLLs. The exe takes all the DLLs and brings it together and presents it to the user. Otherwise, we would end up having parts of Atmosphir separated. Now, as I noted earlier, an exe file can contain more code (In fact, you can have the entire app code in a exe; don't do it), but the code is cleaner, reusable, and easy to debug if it is stored in different classes. However, even if every important code is stored in classes (DLLs), the exe still has to have the code to reference them and output its values.Wowfunhappy wrote:Indeed, this is awesome! Great work!
Out of curiosity...
...So what IS in the exe?
- Sebastian Lawe
- Moderator
- Posts: 2534
- Joined: October 17th, 2012, 7:58 am
- Design Competitions Voted: 0
- Contact:
With a program called dotPeak your going to want to navigate to here "Atmosphir\Atmosphir_Data\Atmosphir_Data\Managed" the main dll you want to open is Assembly-CSharp.dll.marcod wrote:I'm trying to use it but can't seem to see any code with anything I click on in the .dll. How do you do it in the program?
- marcod
- Member
- Posts: 31
- Joined: October 1st, 2012, 8:36 pm
- Sebastian Lawe
- Moderator
- Posts: 2534
- Joined: October 17th, 2012, 7:58 am
- Design Competitions Voted: 0
- Contact:
Make sure you expand the imported dll's list view in the app, and then expand "<Root Namespace>". That contains tons of the code I'm currently looking at. Should be a tiny arrow you can click to view the contents of each section. Directly double clicking anything in the "<Root Namespace>" section should display code.marcod wrote:Yes, I opened that, but whenever I click on an object within the .dll it won't show any source code...
Edit:
A note to everyone. Since Atmosphir simply references dll's, I'm going to rebuild my own copy of the dll. Once this is done, simply replacing the original dll with my dll will change Atmosphir's behavior to whatever I want. No use of the unity platform will be needed as I'm just modifying the logic the game uses to function, as opposed to changing the GUI, or making a new enemy, etc.
- TheLastLink
- Member
- Posts: 606
- Joined: October 16th, 2012, 7:00 pm
- Design Competitions Voted: 2
- Sebastian Lawe
- Moderator
- Posts: 2534
- Joined: October 17th, 2012, 7:58 am
- Design Competitions Voted: 0
- Contact:
Sebastian Lawe wrote:Make sure you expand the imported dll's list view in the app, and then expand "<Root Namespace>". That contains tons of the code I'm currently looking at. Should be a tiny arrow you can click to view the contents of each section. Directly double clicking anything in the "<Root Namespace>" section should display code.