{"id":376,"date":"2024-05-01T21:03:04","date_gmt":"2024-05-01T13:03:04","guid":{"rendered":"https:\/\/www.carpelockgames.com\/?p=376"},"modified":"2025-01-21T23:53:02","modified_gmt":"2025-01-21T15:53:02","slug":"build-cryengine-with-latest-p4api","status":"publish","type":"post","link":"https:\/\/www.carpelockgames.com\/?p=376","title":{"rendered":"Build CryEngine with the Latest p4api"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>Default SSL pseudo lib removed from p4api since version 2017.x. Cryengine 5.7 use p4api version 2016.x which does not support SSL. But our server require SSL support (and I have no intention to change this) so we use latest p4api instead. But SSL libs are not included in p4api. So we need to build OpenSSL libs on our own and modify PerforcePlugin (official integration of p4 in CE) build configs.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">NOTE: Also helix only provide p4api download since version 2017.x officially.<\/pre>\n\n\n\n<p>Let&#8217;s see the result first:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1048\" height=\"630\" src=\"https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/CEPerforce.png\" alt=\"\" class=\"wp-image-377\" style=\"width:561px;height:auto\" srcset=\"https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/CEPerforce.png 1048w, https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/CEPerforce-512x308.png 512w, https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/CEPerforce-768x462.png 768w\" sizes=\"auto, (max-width: 1048px) 100vw, 1048px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1218\" height=\"834\" src=\"https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/Untitled-picture.png\" alt=\"\" class=\"wp-image-386\" style=\"width:491px;height:auto\" srcset=\"https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/Untitled-picture.png 1218w, https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/Untitled-picture-512x351.png 512w, https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/Untitled-picture-768x526.png 768w\" sizes=\"auto, (max-width: 1218px) 100vw, 1218px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Build OpenSSL and deploy to CE<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>See <a href=\"https:\/\/www.carpelockgames.com\/?p=390\" target=\"_blank\" rel=\"noreferrer noopener\">Bulid OpenSSL on Windows<\/a> for more details\n<ul class=\"wp-block-list\">\n<li>OpenSSL 1.0.2.t are used from p4api 2017.x to 2023.x<\/li>\n\n\n\n<li>Use &#8216;no-shared&#8217; option for static library when vuild OpenSSL<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Copy SSL libs to p4api sdk lib folder (see build PerforcePlugin section)\n<ul class=\"wp-block-list\">\n<li>libeay32.lib<\/li>\n\n\n\n<li>ssleay32.lib<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Copy SSL dlls to bin\/win64\n<ul class=\"wp-block-list\">\n<li>libeay32.dll<\/li>\n\n\n\n<li>ssleay32.dll<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>[Optional] Add dlls to no ignore p4ignore config (if you are using perforce as version control)\n<ul class=\"wp-block-list\">\n<li>!*\/bin\/*\/libeay32.dll<\/li>\n\n\n\n<li>!*\/bin\/*\/ssleay32.dll<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Build PerforcePlugin for CE Sandbox<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Modify PerforcePlugin cmake file<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"742\" src=\"https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/P4CECL-e1737474466387-1920x742.png\" alt=\"\" class=\"wp-image-384\" srcset=\"https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/P4CECL-e1737474466387-1920x742.png 1920w, https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/P4CECL-e1737474466387-512x198.png 512w, https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/P4CECL-e1737474466387-768x297.png 768w, https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/P4CECL-e1737474466387-1536x594.png 1536w, https:\/\/www.carpelockgames.com\/wp-content\/uploads\/2024\/05\/P4CECL-e1737474466387-2048x792.png 2048w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create the folder &#8216;p4api\/windows&#8217; under &#8216;Code\/SDKs\/&#8217;<\/li>\n\n\n\n<li>Then copy p4api ver 2023.x to the path<\/li>\n\n\n\n<li>Copy ssleay32.lib and libeay32.lib from OpenSSL compile result (See OpenSSL above)<\/li>\n\n\n\n<li>Configure and generate, then build<\/li>\n\n\n\n<li>Run sandbox and open the VersionControlSystem UI and ensure Perforce option exists<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>That&#8217;s all. Thanks for reading this article. Hope it helps.<\/p>\n<\/blockquote>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Default SSL pseudo lib removed from p4api since version 2017.x. Cryengine 5.7 use p4api version 2016.x which does not support SSL. But our server require SSL support (and I have no intention to change this) so we use latest p4api instead. But SSL libs are not included in p4api. So we need to build [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":381,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","site-transparent-header":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[11],"tags":[],"class_list":["post-376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ce-dev"],"_links":{"self":[{"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=\/wp\/v2\/posts\/376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=376"}],"version-history":[{"count":7,"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=\/wp\/v2\/posts\/376\/revisions"}],"predecessor-version":[{"id":431,"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=\/wp\/v2\/posts\/376\/revisions\/431"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=\/wp\/v2\/media\/381"}],"wp:attachment":[{"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.carpelockgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}