Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support dedicated server builds #162

Merged
merged 6 commits into from
Mar 10, 2022
Merged

Conversation

paulpach
Copy link
Contributor

@paulpach paulpach commented Mar 8, 2022

Changes

  • Add modules for dedicated server build

should fix game-ci/documentation#240

Checklist

  • Read the contribution guide and accept the code of conduct
  • Readme (updated or not needed)

@github-actions
Copy link

github-actions bot commented Mar 8, 2022

Cat Gif

Copy link
Member

@webbertakken webbertakken left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @paulpach,

This looks good overall.

It would be nice to know how much these additional build target modules add to the images. If it is a lot we might opt to make separate images for these. Hopefully we can go with your solution though.

Could you please verify that the resulting images in fact work as expected when building a project?

@paulpach
Copy link
Contributor Author

paulpach commented Mar 8, 2022

Might be worth separating:
Screen Shot 2022-03-08 at 9 16 06 AM

@webbertakken
Copy link
Member

webbertakken commented Mar 8, 2022

Might be worth separating

Perhaps. Although for Linux and Windows it's quite acceptable it seems.

Do server builds require IL2CPP or not? If yes, then that will not be supported in docker, as MacOS images currently do not exist as per macoscontainers.org. In that case we can simply support Windows and Linux with docker and MacOS like we already do in unity-builder (game-ci/unity-builder#326)

@paulpach
Copy link
Contributor Author

paulpach commented Mar 8, 2022

It does not look like it. I was able to build a mono dedicated server.

So should I remove the mac support and just leave linux and windows server support? maybe separate them in 3 prs?

Honestly I only care about linux servers, I added the other ones for consistency.

@webbertakken
Copy link
Member

webbertakken commented Mar 8, 2022

I'm also doubtful about how common the usecase of MacOS server really is.

Perhaps the right course of action here is to see the actual difference in disk space of the image builds for Linux and Windows (base target module vs. both base and server target module) - could you please post these based on image builds?. If the difference is within 5% we might just go forward with this, without MacOS server support in a first iteration.

What do you think?

@paulpach
Copy link
Contributor Author

paulpach commented Mar 9, 2022

These are the sizes in GB of the docker images obtained by the 'docker images' command
"Player only" is what you have today.
"Player + Server" is the images with this PR.
"Server only" is an image with only the server module. I do not know if this is enough to do a build. I will test that tomorrow.

Platform Player only Player + Server Server only
Linux 6.94 7.38 (+6.3%) 6.59
Windows 7.94 9.71 (+22.2%) 7.94
Mac 8.03 11.7 (+45.7%) 9.85

I only care about Linux server. I reckon someone might care about windows server, probably not as often though. I would be surprised if anyone ever asks you for mac server support.

@webbertakken
Copy link
Member

Despite the % increase I'm thinking lets include Linux Server and Windows Server as targets on their respective platforms and leave MacOS Server out of this entirely.

WDYT @GabLeRoux @davidmfinol @frostebite?

@davidmfinol
Copy link
Member

Agreed with moving forward with just Linux and Windows servers.

I'd also be surprised if anyone ever asked for Mac server.

@davidmfinol
Copy link
Member

If we do move forward with Linux and Windows servers as targets, would they include IL2CPP?
We've identified that IL2CPP is not necessarily required, as people can do mono server builds.
However, I imagine that some users would want IL2CPP server builds?

Server modules are now added for base, linux-il2pp and windows.
Works in 2022.*
images/ubuntu/editor/Dockerfile Outdated Show resolved Hide resolved
@webbertakken
Copy link
Member

Looks great! Thank you very much.

@webbertakken webbertakken merged commit 4e88219 into game-ci:main Mar 10, 2022
@paulpach paulpach deleted the server branch March 10, 2022 18:07
mob-sakai pushed a commit to mob-sakai/docker that referenced this pull request May 17, 2022
* feat: support dedicated server builds

* Remove mac server support

* work with base and future unity versions

Server modules are now added for base, linux-il2pp and windows.
Works in 2022.*

* Leave base alone

* Remove left over parenthesis

* fix log name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document how to build for Dedicated Server as the target platform
3 participants