Eureka Phone: iPhone-style
Running both designs
How one core serves the Duo and the iPhone-style phone at once, and what a player sees when they carry both.
One server, one core, two page resources. Players choose their phone by the item they carry; the core routes each phone to the page that lists its item.
How the core picks the page
The core's router keeps one current page per player:
- the page of the phone item the player opened last (remembered on their machine),
- else the page that was current,
- else the first page that started.
The phone key (F1) shows the current page. When the server opens a phone whose item another page lists, the first page hands over once: it hides, and the other page shows and opens again. A player who closed the phone while that answer was on its way gets no phone back. An item that no installed page lists opens on the current page, so any page can show any phone.
A player carrying both
- The server decides which phone opens: the one that was open before, else the player's own, else the lowest inventory slot. A page cannot ask for the other.
- The first open after switching to the other design shows the first page briefly, then hands over. This happens once per switch.
- Only the current page talks to the server. Pushes and call states reach only that page, and NUI focus is taken only for a page that is shown.
Operating two pages
| Task | What to do |
|---|---|
| Add a page | Copy its folder, add its item to the inventory and to duo_phone_items, ensure it after the core. |
| Restart the core | restart eureka_phone stops every page and does not start them again: follow with ensure eureka_duo and ensure eureka_iphone. |
| Upgrade | Keep one eureka_phone, the newer of the two releases; every page speaks the same contract. |
| Media | Allow both origins in the bucket's CORS rule: https://cfx-nui-eureka_duo and https://cfx-nui-eureka_iphone. |
| Keys | The open key is the core's. Only the Duo has a fold key (F2); the iPhone-style page defines none. |
set duo_phone_items "phone,iphone"
ensure eureka_phone
ensure eureka_duo
ensure eureka_iphoneTroubleshooting
- The wrong design opens. The player's last-opened item wins. Have them close the phone, make sure they hold the item they want and open again; the page hands over once.
- Nothing opens for one item. The item is missing from
duo_phone_items, or does not matchmodelsin that page'sconfig/client.lua. - A page is blank after a core restart. The page was stopped with the core;
ensureit again. - Uploads fail on one design only. Its origin is missing from the object store's CORS rule.
Last updated October 2, 2026