Skip to content

Light2/src

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,336 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Star Wars Galaxies Source Code (C++) Repository

This is the main server code for SWGSource 1.2 as originally forked from the https://bitbucket.org/stellabellumswg/ repository. Please see that repository for original publication and alteration credit.

Works in progress

  • 64-bit-types - fully 64 bit version that builds and runs completely.

Building

Win32 Version

  1. Download JDK 11 32 bit (https://www.azul.com/downloads/?version=java-11-lts&architecture=x86-32-bit&package=jdk) and set your JAVA_HOME to the java directory.
  2. Download perl (https://strawberryperl.com/) and add it to the PATH environment variable.
  3. Download cmake for windows.
  4. Download Visual Studio 2022 Community Edition, make sure you select cmake tools during installation
  5. Open the cmake GUI application and set the source and build folder
  6. Click configure, use Visual Studio 17 2022 as generator, and set optional platform for generator to Win32 (IMPORTANT!)
  7. Press finish
  8. Click Generate
  9. Click open project
  10. Build

Clang Versions

Important: For versions of clang <= 4 you'll probably have to remove/omit a deprecated CFLAG or two from the CMakelists.txt file

Only use the Debug and Release targets unless you want to work on 64 bit. For local testing, and non-live builds set MODE=Release or MODE=debug in build_linux.sh.

For local testing, and non-live builds set MODE=Release or MODE=Debug in the build.properties file in swg-main.

For production, user facing builds, set MODE=MINSIZEREL for profile built, heavily optimized versions of the binaries.

Profiling and Using Profiles (IN-WORK)

To generate new profiles, build SWG with MODE=RELWITHDEBINFO.

Add export LLVM_PROFILE_FILE="output-%p.profraw" to your startServer.sh file.

WHILE THE SERVER IS RUNNING do a ps -a to get the pid's of each SWG executable. And take note of which ones are which.

After you cleanly exit (shutdown) the server, and ctrl+c the LoginServer, move each output-pid.profraw to a folder named for it's process.

Then, proceed to combine them into usable profiles for the compiler:

llvm-profdata merge -output=code.profdata output-*.profraw

Finally, then replace the profdata files with the updated versions, within the src/ tree.

See http://clang.llvm.org/docs/UsersManual.html#profiling-with-instrumentation for more information.

More Information

See https://swg-source.github.io/ for more information on the SWG Source project.

Join the SWGSource Discord if you would like to contribute: https://discord.gg/j53cMj9

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 94.2%
  • C 2.7%
  • PLSQL 1.5%
  • CMake 1.1%
  • Perl 0.4%
  • Lex 0.1%