fodev.net

General => News and Announcements => Topic started by: AHS-9 on October 27, 2018, 07:33:12 pm

Title: FOClassic
Post by: AHS-9 on October 27, 2018, 07:33:12 pm
Remember, remember!
The fifteenth of September,
The commit we know a lot;
I know of no reason
Why four-one-two revision
Should ever be forgot!


HELLO WORLD!

As some of the FOnline fans around here have already been aware, the Rotators team started working on one of the older SDK versions, with aim to improve and stabilize it for long-running servers.

According to our own experience, and those of other developers, drastic engine changes - being often more than required and also great in terms of features - have been added too quickly in the past. This left long-running servers lagging behind, unable to adapt and update, and up to this day stuck in the middle of nowhere. In most cases, the line has been drawn at revision 412 and there's hardly a FOnline server developer left for whom this version doesn't ring a bell.

This version is the starting point for our project, currently known as FOClassic.



This is for the second time that Rotators attempt to improve FOnline by introducing their own changes.

For the record, the first attempt at this was our FOnline: 2238 server, which was originally based on FOnline: The Life After content.
It didn't end quite as planned, but it was still an achievement that paved the way for other developers, allowing them to create or improve their vision of the Fallout universe - or at least a part of it.

Today, instead of forcing our own vision of that universe, we - Rotators - want to continue helping the server developers by providing them with tools, rather than a product.
Comparing the current situation to the times when we were working on FOnline: 2238, now we have much more freedom in regard to introducing engine changes. Our aim is to revive some old, dusty features and engine parts and also to eliminate certain problems and limitations that have been hindering the implementation of various new, fresh features on FOnline servers out there.

Let's hope that our third attempt at revolutionizing the engine will be based on equal rights among all developers, allowing all of us to improve it as we see fit.

ROADMAP




Obviously, the decision about migration from FOnline to FOClassic, and how that process should look like, is completely up to server developers, but we'd like to say a few words before you start. If you're an active player thinking about posting suggestion on your favorite server(s) forum, you should read this as well.


MIGRATION CHECKLIST

Here's a quick list of things which should be done for a (hopefully) flawless migration.


"OK, done. Now what?"
First of all, we'd like to see servers extensions cleaned up. Any changes made to FOnline.h should be either ported to FOclassic.h or added to scripts.
In most cases extensions are needed only to extract/modify raw values from non-public part of a given object. While the implementation itself is often located within extension, it could be as well done in scripts, if they had access to it - and not all servers are aware of the possibilities provided by asIScriptEngine.

We'll try to sort it out, following the philosophy that if there is a single one server that needs it, the others might benefit from it as well.
Which means that we're going ask servers for their extensions code - either fully or parts required. If you decide to send it to FOClassic team, be completely aware we might archive it in public repository, making it available for anyone.

This rule exists for a few reasons:
   
During migration process we're not planning to change objects structure. If server-specific feature requires member(s) "hidden" deep inside non-public part of an object (CritterCl::strTextOnHead, Item::Alpha, etc.), we'd rather make a proper script function, than do it in an extensions header. Once the migration is complete, the code can be re-added to FOClassic.h, if there's still need for that.

LINKS


ANSWERS TO QUESTIONS NEVER ASKED

Title: Re: FOClassic
Post by: Kilgore on October 28, 2018, 08:18:53 pm
Well, it sounds awesome, thanks.
Title: Re: FOClassic
Post by: testerDEV on October 28, 2018, 08:39:44 pm
Wow, finally a chance for better future. Keep up good work because FOnline needs projects and community actions like that.
Title: Re: FOClassic
Post by: cvet on October 29, 2018, 11:00:13 pm
Quote
So, chief, we're not gonna ask about it on our own in other way than this very post alone...
But if you ever get the feeling that FOClassic is ready for such a big step as open-sourcing, just say a word.
I give approve to open-sourcing FOClassic.
Also when epic with Last Frontier will be finished I public actual sources.
God bless us.
Title: Re: FOClassic
Post by: Rascal on October 29, 2018, 11:12:13 pm
Thats great news thanks!
Title: Re: FOClassic
Post by: devis on October 30, 2018, 12:24:15 am
AWWWWWWWWWWWWWWW YEAAAAAAAAAAAAAAAAAA BOIIIIIIIIIIIIIIIIIIIIII

praise cvet
Title: Re: FOClassic
Post by: Lexx on October 30, 2018, 09:11:07 am
Oh, I sure didn't expected that now.
Title: Re: FOClassic
Post by: Wire on October 30, 2018, 09:54:15 am
See, Wipe?
And you were worried
Title: Re: FOClassic
Post by: SmallGreg on October 30, 2018, 11:17:50 am
Awesome !!!
Title: Re: FOClassic
Post by: lisac2k on October 30, 2018, 09:23:04 pm
This is getting better and better  8)
Title: Re: FOClassic
Post by: Wipe on October 31, 2018, 12:55:37 am
Indeed it is. I claim to be the one who's most surprised across FOnline community, as i totally didn't saw it coming so early ;D
Title: Re: FOClassic
Post by: cvet on October 31, 2018, 12:57:27 pm
I give approve to open-sourcing FOClassic.
Also when epic with Last Frontier will be finished I public actual sources.
God bless us.
And I thought - why we must wait so long? Enjoy:
https://github.com/cvet/fonline
Title: Re: FOClassic
Post by: Wipe on October 31, 2018, 03:00:33 pm
ABSOLUTE MADMAN
Title: Re: FOClassic
Post by: SmallGreg on October 31, 2018, 06:24:49 pm
Great!!! Big day for the whole FOnline community!!!
Title: Re: FOClassic
Post by: Kilgore on October 31, 2018, 09:46:17 pm
And I thought - why we must wait so long? Enjoy:
https://github.com/cvet/fonline

Thanks man for your work, and sharing it.
Title: Re: FOClassic
Post by: Ghosthack on November 01, 2018, 12:14:56 am
Great stuff! :)
Title: Re: FOClassic
Post by: Wipe on November 01, 2018, 01:38:46 am
FOClassic source has been moved to GitHub as well, and we'll shortly switch to it fully.

There's some stuff "desynched" from reality, eg. preparations for features which have no sense with open source - that will be cleaned up.
On cvet's suggestion, loading r412 server state will be restored, and will become part of v2.

Other than that, FOClassic roadmap is still up to date, and will be followed without much changes.
Title: Re: FOClassic
Post by: testerDEV on November 03, 2018, 12:04:59 pm
There is so much work around here for fixing and improving source code. I am glad that Cvet and the Rotators focus on development of the engine. Now everything seems possible to be created only if someone knows where and how to start :)
Title: Re: FOClassic
Post by: Henry on November 23, 2018, 12:14:00 am
This is all very exciting. If you want any wiki work, i volunteer.
Title: Re: FOClassic
Post by: Ganado on December 27, 2018, 04:01:03 am
I'm a bit late, but this is great to hear.
Title: Re: FOClassic
Post by: Slowhand on January 06, 2019, 12:34:03 pm
I need a public hardcopy of engine/client set up for FOclassic, that I can use to add functionalities, modules for client. If someone gets the time, please do a merge on 2238 to the 412 engine rev and install FOclassic on it. Asking on dicord revealed to me, that this is something I do not want to do myself. I guess asking for a documented guide step by step would be too far of a stretch :) so hardcopy will do. I don't think this will happen very soon, so I'll check back from time to time, laters.
Title: Re: FOClassic
Post by: cthulchu on January 20, 2019, 08:07:43 pm
Hey my folks, have a question about this client.

Somewhere on this forum I found this script: https://paste.ofcode.org/NR93mZCXGfUkS9VGMkduGh (I may have modified it a bit)

It worked very well with our old client that Reloaded used. It was one of the classical builds.

The script doesn't quite work with the new client. I mean, it launches the client, but once you try and launch another instance, the annoying "client is already running" message pops up.

Folks, I would appreciate any help with this since Reloaded switched to this client and now everyone is forced to use the bloody sandboxie, which is awkward as hell and not free.
Title: Re: FOClassic
Post by: Wipe on January 21, 2019, 12:54:25 pm
annoying "client is already running"
You have three options:
- fix the script on your own :P you most likely will have to do so with each client update
- as Reloaded is building executables from sources, suggest source changes in their fork
- wait until option to remove these check will be added to engine... and suggest turning it on :)

Not a fan of the third option, but not a fan of engine features working against developers either, so it's up to them to decide is it worth keeping.
Title: Re: FOClassic
Post by: sasha on February 27, 2019, 12:13:53 am
hello, i want to ask some questions about FOClassic.

- this version will be more like Fallout 1/2 ? for example, without that changes made in the latest betas, like helmets, items with critical modifiers, modified traits, new perks, etc.

i want a FOnline like the first betas, i played a lot less in 2238 when those changes were made.

i know that many changes were for "PvP balance reasons", but a game more similar to Fallout 1/2 was better in my opinion.

- is the any estimated release date ?

- FOClassic or his modding tools will have new system requirements ? for example, i can run the server/tools in Windows XP ?

- i remember that some tools released with the 2238 server files many years ago required some version of .NET Framework to run, it's possible to make new tools without that requirement ?

thanks.
Title: Re: FOClassic
Post by: sasha on March 02, 2019, 05:01:55 am
hi again, i want to suggest something for FOClassic.

i have a Core2Duo processor (2 cores, 2.97 GHz), and the FOnline 2238, both Client and Server, uses 50% of the CPU usage, so if i have both process open then the CPU Usage is 100%, even when they dont REALLY need an entire core for running.

i know that this is a common problem in many games and programs, but it will be good if that can be fixed.
Title: Re: FOClassic
Post by: Wipe on March 02, 2019, 08:14:41 am
more like Fallout
FOnline like the first betas
PvP balance

FOClassic is just an engine, not tied to any specific game content - it's up to game developers what and how they want to do with that.

FOClassic or his modding tools will have new system requirements ? for example, i can run the server/tools in Windows XP ?
They should still work, if they worked previously - nothing fancy has been added and most likely won't be for quite some time.

make new tools without (...) .NET Framework
All tools released with 2238 came with their sources (https://github.com/rotators/tools/), so anyone can rewrite them if needed.

50% of the CPU
For Server, you can tune GameSleep option, for Client - FixedFPS. If last one is negative, it works exactly as Server's GameSleep - application does nothing for N ms, giving CPU some rest.
Other than that, you can always disable unneeded features - remove NPCs from towns, disable caravans/trains, simplify check_look, and so on.
Title: Re: FOClassic
Post by: testerDEV on March 02, 2019, 07:48:53 pm
- this version will be more like Fallout 1/2 ? for example, without that changes made in the latest betas, like helmets, items with critical modifiers, modified traits, new perks, etc.

i want a FOnline like the first betas, i played a lot less in 2238 when those changes were made.

It is highly unlikely that you get old revision. If you are looking for FOnline which is similar to Fallout 1/2 you should try FOnline TLA.
Title: Re: FOClassic
Post by: adumbperson on April 13, 2019, 03:51:00 am
AYE KARAMBA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Looks like now I have FOnline source code :D (THANKS CVET!!)

Seeing rotators coming back around that shiny 412rev with an open access to the stuff... (THANKS & very Interesting)

BTW WTF happened?...
Title: Re: FOClassic
Post by: adumbperson on April 13, 2019, 07:16:54 pm
Hell'o  ;D

We are told VS 15 2017 is opitional...

Looks like my first glitch ;D

https://bpaste.net/show/b71ac677a764 (https://bpaste.net/show/b71ac677a764)

then following readme instructions...

https://bpaste.net/show/93406dc83eff (https://bpaste.net/show/93406dc83eff)

Any of you succeeded with that?

Related to 412:
I saw that Cvet's FOnline doesn't include old releases... That's very unfortunate as the new one need a costly study (in time) to use it the right way...

And the Actual FOClassic doesn't build using the readme instructions...

@Cvet
It would be nice for those devs working on r412 binaries to get the **original** source code.
So people can decides themselv what's good and not to be change...

## Comment around FOclassic's build environ...
After trying to build it using windows 7 64 i got the the errors you can see at beginning of this post... (I've VS2010 and Cmake...)
AFter trying to build it using debian... cmake website provides only 64 bit... my fresh debian is 32...
Turn out you need a 64 bit OS to play CMAKE-3.12.4...
Also seeing the changes it's gonna be painfull in someway to seek internal mechanism when comparing to original r412...

## feel after reading stuff there and here
I didn't plan to break my dev environ around the original r412...
I'll keep the repos around but I don't think it's gonna help in finishing my stuff on the original defunct r412...
Title: Re: FOClassic
Post by: Wipe on April 14, 2019, 12:35:40 pm
Any of you succeeded with that?
I did.

First paste is either not installed VS2017+VS2010 or missing env variables. In second case VS offers developer command prompt which sets them all up. Once cmake sets everything you don't have to worry about it anymore - everything is set to update itself directly. I didn't run CMake myself since few months, VS takes care of all that after solution is generated.
Second paste is just wrong use of cmake arguments. You are in root dir pointing at build dir, while it should be opposite :) Newer CMake have added -S and -B switches to avoid such mistakes. https://cmake.org/cmake/help/v3.14/manual/cmake.1.html

I saw that Cvet's FOnline doesn't include old releases... That's very unfortunate as the new one need a costly study (in time) to use it the right way...
What you talking about? It's exactly same repo we used during 2238 times, exactly same i used to grab clean SDK r412, and exactly which was used for development since SDK was released. Only difference is that it's using git now, instead of svn, but it has nothing to do with the source itself.
Title: Re: FOClassic
Post by: adumbperson on April 14, 2019, 04:27:57 pm
First paste is either not installed VS2017+VS2010 or missing env variables. In second case VS offers developer command prompt which sets them all up. Once cmake sets everything you don't have to worry about it anymore - everything is set to update itself directly. I didn't run CMake myself since few months, VS takes care of all that after solution is generated.

My apologies... seems like I didn't take the problem the right way...
I've no idea how VS works... The only stuff I do is to use cl.exe directly through a bat files.
I cannot use VS apps it tells something about registration...
To develop I use a simple text editor... and I'm fine with that.

What you talking about? It's exactly same repo we used during 2238 times, exactly same i used to grab clean SDK r412, and exactly which was used for development since SDK was released. Only difference is that it's using git now, instead of svn, but it has nothing to do with the source itself.

Again my apologies...
When I downloaded FOnline sources it looked very quick...
And I guess I didn't assume I could restore r412 through the repo itself...
I'll be looking for that.

Thanks!

I've finally found a reg key for VS2010 making life easier...
Title: Re: FOClassic
Post by: adumbperson on April 15, 2019, 01:16:35 am
I've managed to clone r412 using sha commit...
But libs are in a wrong format, I can't compile anything...

Also tried to compile foclassic using wipe's tip
here the result... https://bpaste.net/show/0a8bbd6a8f9c (https://bpaste.net/show/0a8bbd6a8f9c)
Compiler broken...
But it works fine when compiling game dlls I don't understand what's the problem...

### UPDATE
By following FOClassic's app veyor console I've managed to craft a working build environ using ubuntu 64bit.

Using Windows 64 it's still a problem, I NEED HELP...

### UPDATE 2
Near fixing windows build... https://stackoverflow.com/questions/10888391/error-link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-inval (https://stackoverflow.com/questions/10888391/error-link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-inval)

### UPDATE 3
Wrote 2 "HOW TO" to share your work section, showing Ubuntu 64bit and Window 64bit build environments.

Enjoy
Title: Re: FOClassic
Post by: Wipe on April 16, 2019, 03:42:44 am
Damn, you're faster, tried to reproduce this for way too long with no success...
Do you have any other VS installed other than 2008/2010/2017? This (https://stackoverflow.com/q/14590947) sounds preeety familiar.


For people from future:
How to build FOClassic using Windows 7 64bit (https://fodev.net/forum/index.php/topic,30070.msg262653.html#msg262653)
How to build FOClassic for linux 32bit (https://fodev.net/forum/index.php/topic,30066.msg262647.html#msg262647)
Title: Re: FOClassic
Post by: adumbperson on April 16, 2019, 06:15:24 am
Do you have any other VS installed other than 2008/2010/2017?

Only VS2010

This OS (Windows 7 64bit) ain't even an sp1... I'm experiencing lot of pain installing windows stuffs...

Everythings looks bound to SP1...