EMI INDO's Forum Posts

  • New Free Addons: In-App Subscription (Server-Side) & AdMob Mediation Suite

    Hi everyone! I’m excited to announce two new addons designed to enhance your billing security and ad revenue management in Construct 3. Both are available for free!

    1. Google Play In-App Subscription (GCP Server-Side Verification)

    This plugin provides a robust solution for Server-Side Verification of Google Play Subscriptions and In-App Products via Google Cloud Platform (GCP). It utilizes a Native Java Bridge to communicate directly with the Google Publisher API, ensuring maximum security and reliability for your billing system.

    • GCP Integration: Direct communication with Google Cloud Platform's official infrastructure.
    • Maximum Security: Verifies tokens server-side to prevent billing fraud.
    • Reliability: Built with a native bridge for high performance on Android.
    • Zero Middleman: Your data stays between you and Google.

    https://www.construct.net/en/make-games/addons/1572/in-app-subscription

    ---

    2. AdMob Mediation Suite

    Take full control of your ad revenue by managing Google AdMob Mediation adapters for both Android and iOS easily within Construct 3.

    • Multi-Platform: Full support for Android and iOS mediation.
    • Revenue Optimization: Effortlessly manage different ad network adapters.

    https://www.construct.net/en/make-games/addons/1573/admob-mediation

    ---

    Happy making!

  • I’m the one who has been porting dozens of these addons recently, and I have to weigh in here because this isn't just about "fixing broken projects"—it's about a massive security liability that hasn't been fully addressed in this thread.

    Ashley is 100% right about the security risk, but I want to take it a step further. We’re not just talking about a plugin "not working." We’re talking about Supply Chain Attacks. A malicious actor could easily "port" a popular SDK v1 addon, use the same ID, and hide a script inside a bundled dependency (e.g., import { core } from './bundle.js';). If a user unknowingly updates to this "ported" version and publishes their game, they risk:

    App Suspension: Google Play/App Store detecting malicious SDK behaviors.

    Account Termination: The "death penalty" for mobile developers—losing their Play Console account permanently.

    Financial Loss: For many, this is their livelihood.

    As someone doing the heavy lifting of porting these addons, I absolutely refuse to be held responsible for what happens if we allow a "free-for-all" on ID reuse. If I port a plugin and someone else "shadow-updates" it with a malicious ID-match.

  • On rewarded complete

    Give rewards to users

    Reload the rewarded video ad here, to be displayed when you want to give the next reward.

    Important Note: Do not test live ads during development or testing. Doing so is a policy violation. Repeated violations may result in limited ad serving, and ad slots may stop filling entirely.

    This approach can be effective, but it must be handled with caution. Testing live ads for games should only be done through the App Store, where the game is downloaded by real users, in order to avoid policy violations.

    Although there is no strict rule, it is recommended to limit rewarded video ads to once every 3 minutes per user to maintain a good user experience and reduce the risk of policy issues.

    Debug

  • Have you tested like this?

  • Update firebase-analytics-Android/IOS_v1.0.0.3

    construct.net/en/game-assets/addons/firebase-analytics-403

    Update applovin-max-ads-Android/IOS_v1.0.7.9

    construct.net/en/game-assets/seller-account/for-sale-assets/applovin-max-ads-1847

  • SwapLab Desktop - Build Android/iOS Locally (No Android Studio required)

    SwapLab Desktop is a lightweight (~10MB) GUI for Windows and macOS designed to build Construct 3 projects locally using Docker. It sanitizes, builds, and signs your Android & iOS projects in isolated containers, eliminating the need to configure Java, Gradle, or Environment Variables manually.

    🚀 Why SwapLab Desktop?

    It is 100% Free & Open Source. There are no hidden fees and no locked features.

    • 🚫 NO CLI / NO Config: No need to install Android Studio, JAVA_HOME, or SDKs manually. It works out of the box.
    • 🔒 100% Privacy & Control: No Sign-In required. Your source code NEVER leaves your machine. Everything runs on localhost.
    • ⚡ Blazing Fast: Uses aggressive caching (Gradle & NPM), so subsequent builds take seconds.
    • 🌐 Offline Capable: Once the engine image is downloaded, you can build apps without an internet connection.
    • 🛡️ Isolated via Docker Desktop: Builds run safely inside the Docker Desktop app's containers, ensuring your host OS remains clean.

    How to use with Construct 3

    1. Export your Construct 3 project as Cordova.
    2. Open SwapLab Desktop.
    3. Drag & Drop your project folder/zip.
    4. Click Build. The tool automatically handles the conversion (Cordova to Capacitor).

    Video: Build Construct 3 Release APK + mobile advert

    Subscribe to Construct videos now

    Open Source Repositories

    You can audit the core build engines and example projects here:

    Download

    Get the installer for Windows and macOS here:

    👉 Download SwapLab Desktop

  • You are a rockstar!

    Fix bug

  • 🔄 Quick Update: This thread is active & EasyStar Tilemap Manual Port is ready!

    Hello everyone! Just a quick post to let you know that I am still actively working on your requests.

    🚀 New Manual Port: EasyStar Tilemap Behavior

    I have just finished the manual port for EasyStar Tilemap by Magistross as requested by users on this page.

    🛠️ Important Transition: Automated Build Service

    To make things much faster and more transparent, I have officially launched the C3Addon Community Compiler. Instead of waiting for manual uploads, you can now get the latest builds of all ported addons (including the new EasyStar port) instantly through the new dashboard.

    Because this tool is a significant upgrade, I have created a new dedicated thread to discuss the compiler and its features:

    👉 C3Addon Community Compiler - New Thread & Discussion

    📥 Get the SDK v2 Addons here:

    https://c3addoncommunity.swaplab.net

    Thank you for your continued support!

  • dop2000 brobiggame Squashed John

    🚀 New Manual Port Update: EasyStar Tilemap Behavior (SDK v2)

    Following the request from page 2 of the porting thread, I have completed a manual migration for the following behavior:

    Original Addon: EasyStar Tilemap by Magistross

    🛠️ Why Manual Porting?

    Please note that this is a manual port, which is significantly more reliable than an automated conversion.

    • Code Optimization: I have made extensive changes to the source code to ensure deep compatibility with the latest Construct 3 SDK and API v2 standards.
    • API Alignment: Manual adjustments were made to handle how the Tilemap and pathfinding logic interact within the new SDK environment.

    📥 How to get it

    The updated .c3addon for EasyStar Tilemap is now automatically available on the dashboard. You don't need to wait for a manual upload—the compiler has already packaged the latest manual port for you:

    👉 https://c3addoncommunity.swaplab.net (Search for: Magistross-Easystar-Tilemap)

    I will continue to work through the request list. Stay tuned for more manual SDK v2 updates!

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • [Tool] C3Addon Community Compiler: Real-time Automation for SDK v2 Addons

    Hello Construct community!

    As many of you know, I have been maintaining a thread for the Community Porting List for SDK v2. While that list has been helpful for tracking progress, I realized that the manual process of downloading from GitHub and wrapping them into .c3addon files could be much faster.

    To support this effort, I've developed a non-profit "bridge" tool as part of the SwapLab project to automate the compilation process:

    🌐 c3addoncommunity.swaplab.net

    ⚙️ How it works

    This service acts as an automated bridge between the public source code and your Construct 3 editor:

    • Source: It pulls the latest code directly from the EMI INDO GitHub repositories.
    • Real-time Build: The server wraps the repository content into the correct .c3addon structure instantly.
    • Zero Modification: The bridge does not change any code; it only provides an automated way to package it for distribution.

    ⚖️ Transparency & Credits

    Transparency is the core principle of this project. To ensure everyone feels safe using this tool:

    • Open Source UI: The frontend is hosted on Cloudflare Pages, and you can audit the source code here: GitHub Repository.
    • Original Authors: This tool is strictly a compiler bridge. All intellectual property, original logic, and documentation for these community addons belong to their respective creators. Please visit the Official Construct 3 Addon Store for official resources and to support the original developers.

    🌍 Explore Other Community Tools

    You might also find my other SwapLab community projects useful:

    Feel free to provide feedback or suggest new repositories to be added to the auto-compiler list!

  • Haha, thanks Ashley! I know, on paper, "Remote Code Execution as a Service" sounds like a sysadmin's nightmare. 😂

    That is exactly why we spent months designing the security architecture before opening this public door. Just to clarify how we handle the "Oof" factor:

    1. Total Isolation (Air-gapped Logic)

    The Public Runners (GitHub Actions) are physically separated from our Private/Production infrastructure. Even if the public instance melts down or gets compromised, it touches nothing else.

    2. "Blind" Orchestrator & Clean Images

    Our security relies on a rigorous chain of custody:

    • Clean Images: The Docker images used are public (GHCR) and contain zero baked-in secrets.
    • No Local Secrets: Our backend (`server.js`) is stateless and has no `.env` file with credentials.
    • Just-in-Time Access: If a key is ever needed, the container asks the Server -> the Server asks a Cloudflare Worker -> the Worker retrieves it from the encrypted Secrets Store.

    Credentials exist in memory only for the millisecond they are needed, never stored on disk.

    3. Abuse Prevention

    We have strict hard-limits on CPU usage, execution time (to prevent crypto-mining), and network egress. We actually just successfully mitigated a DDoS attempt on December 11th with zero downtime, so the Cloudflare WAF or super bot fight mode is doing its job well so far.

    It is a calculated risk, but I really wanted to give Addon Devs a way to test "Cloud Compatibility" for their plugins without bothering your team with whitelist requests for broken plugins, or just for testing.

    Fingers crossed! 🤞

  • Hi everyone,

    I want to share a free, open-source utility I built to assist Construct 3 addon developers and those dealing with complex Cordova dependencies.

    As we know, the official Construct 3 Build Service is excellent, but for security reasons, it maintains a strict whitelist for Cordova plugins. If you are developing a new C3 Addon that uses a custom Cordova plugin, you typically need to:

    • Test locally (which might work fine because you have full control).
    • Submit a whitelist request to Scirra on GitHub.
    • Wait for review.

    The Problem

    Sometimes, a plugin works locally but fails in a strict Cloud Build environment (due to hook permission scripts, specific Gradle versions, Kotlin incompatibilities, or AndroidX conflicts). If this happens after you requested a whitelist, it wastes the Scirra team's time reviewing a broken plugin.

    The Solution: Public Builder (Beta)

    I created a Public, No-Sign-In build runner that has NO Whitelist restrictions.

    👉 public.swaplab.net

    How it helps the C3 Community:

    You can use this to "Stress Test" your C3 exported project with your custom plugins in a real Cloud Environment (GitHub Actions Standard Runner).

    1. Export C3 project as "Cordova Project".
    2. Zip and upload to the Public Builder.
    3. If it builds successfully here, it is highly likely to be "Cloud Safe".
    4. Then, you can confidently submit your whitelist request to Scirra's Bug Tracker.

    📺 Video Proof: Construct 3 AdMob via Capacitor Engine

    Does it actually work? Here is a step-by-step video demonstrating a Construct 3 project (with AdMob Cordova plugin) being built using the Modern Capacitor Engine on the public builder:

    Subscribe to Construct videos now

    Video Highlights:

    • Export: Construct 3 → Cordova Project.
    • Engine: capacitor-build-android-engine (Yes, it automatically wraps your C3/Cordova project!).
    • Result: Running AdMob Ads on the Emulator.

    💰 Sell Addons with Confidence

    For those creating paid addons for the Construct 3 Asset Store, this tool is your safety net.

    By verifying that your addon compiles correctly in a standard Linux/Docker cloud environment (similar to the official service) before listing it, you ensure your customers receive a robust product. This minimizes support tickets regarding "Build Errors" and helps you maintain a high reputation as a seller.

    🔧 Tech Stack & Transparency

    This runs on 100% Open Source infrastructure. You can watch the build queue and verify the workflows here:

    • Public Runner: swaplab-engine/public-build-swaplab-engine
    • Limits: Unlimited usage, strictly generates Debug APKs for testing.
    • Privacy: Zero-retention. Files are deleted immediately after the build job triggers.

    ⚡ Supported Engines for C3

    When you upload your

    Cordova Project

    zip, you can choose 3 different Docker Images to build your game:

    1. cordova-build-android-engine

    • The classic standard. Best for verifying plugin compatibility for the official build service.
    • View Docker Image Source

    2. capacitor-build-android-engine (Recommended)

    • Wraps your C3 project in the CapacitorJS runtime.
    • Great for modernizing your game stack or using Capacitor-specific plugins later.
    • View Docker Image Source

    3. framework7-build-android-engine

    All Docker Packages: github.com/orgs/swaplab-engine/packages

    I hope this tool helps addon developers iterate faster and reduces the "Build Error" headache when dealing with native dependencies.

    Let me know if you run into any issues with specific C3 exports!

    🔒 Privacy & Terms

    We understand that your source code is your valuable asset. This service operates under a strict policy to ensure your intellectual property remains yours.

  • Yes, I just returned to the forum after being away for four months. Sorry for the late reply.

    I will check it later. I need to review all the addons in the store first to make sure everything is still working normally.

    First, I have to be responsible for what I’m selling.

    Once I’m done, I’ll try the addon you want to port.