<p>Quelle: Festplatten Fund<br>Hierbei handelt es sich um die Open Source Version vom originalen Holograph Emulator.<br>Die anderen Versionen in der Filebase sind alle Edit's in Closed Source Form!</p>
<p><strong>Edit: Original Release Text (Englisch)</strong><br></p>
<woltlab-spoiler data-label=""><p><br><strong>What is Holograph Emulator? :: Summary</strong><br>- C# command line application to run a Habbo Hotel private server<br>- found on 25th December 2007 by Nillus<br>- links up with Meth0d's HoloCMS<br>- in it's 'lifetime' it already has had two language switches, from VB6 > VB.NET & from VB.NET > C#<br>- Pooled Database Connection</p>
<p><strong>Specifications of current version:</strong><br><strong>Project name:</strong> Holograph Emulator<br><strong>Codename:</strong> Eucalypt<br><strong>Core:</strong> V1, C#.NET 3.0</p>
<p><strong>Core part features:</strong><br>- HoloDB class for high speed access to MySQL 5.0 databases, ODBC connector 5.1<br>- Asynchronous socket server for game client connections<br>- Asynchronous socket server for MUS client connections (live updates in client via HoloCMS etc)</p>
<p><strong>Client features:</strong><br>- Allows clients up to V26</p>
<p><strong>Login:</strong><br>- SSO ticket login<br>- Ban checking<br>- Initialize fuserights (define them in rank_fuserights, with the name of the right + the minimum rank for it)<br>- Initialize Club subscription status<br>- Initialize V22/'V23' console<br>- Initialize user details<br>- Initialize credits + tickets<br>- Initialize users badges<br>- Initialize Recycler (Ecotron) status 100% (rewards and costs configureable in system_recycler)<br>- Welcome message</p>
<p><strong>V26 console:</strong><br>- Initialize friendlist and friendrequests at login<br>- Display correct statuses about buddies, online yes/no, inroom yes/no, shows buddy's head when buddy is online<br>- Requests users as buddy (friendrequest)<br>- Accept multiple friendrequests<br>- Decline multiple friendrequests<br>- Remove buddy from friendlist<br>- @M update packet system provides friendlist updates only for the friends that are updated (not like in USA111 server etc, there it sends the details of ALL your friends every ~ minute, as @O hits the server)<br>- Instant messaging (when talking to an offline buddy, it'll say 'your friend is offline' or w/e the message says)<br>- 'Follow buddy'/stalk to a room<br>- Invite buddies to the room you are currently in (with message)<br>- All texts (instant messaging for example) are filtered by swearword filter (optional)<br>- No exploits or scripting, fast system, summary: 100% replica<br>~ Calm down Sisija, 'ignore friendrequests' and 'display-offline-while-you-are-online', they will be added ;P<br>- Search shows but not fully working yet</p>
<p><strong>Room events:</strong><br>- Add and remove categories where users can host events in, edit the category titles in external_texts<br>- Host an event in your room (you have to be owner of that room, you can only host one event at the same time)<br>- Edit event in your room (only roomowner or staff)<br>- End event in your room<br>- Event appears in correct category with correct details<br>- Thread in eventManager class removes 'dead' events (where the hoster has left he room where the event is hosted, or the hoster has gone offline, or an error occured or whatever) every 2 minutes<br>- No exploits or scripting, fast system, summary: 100% replica</p>
<p><strong>Hotel View & Navigator:</strong><br>- Define your own publicroom and guestroom categories till unlimited depth when it comes to subcategories, give access ranks to certain categories, make certain categories visible for users above a certain rank etc<br>- Display publicroom and guestroom categories<br>- Display publicrooms (publicrooms are fully configureable via database, add & remove new publicrooms without modifying anything in the server)<br>- Hide/show full rooms/categories<br>- Recommended rooms (three random guestrooms)<br>- 'Who's in here' feature for publicrooms, shows the users inside a publicroom upon rightclicking on it)<br>- Search guestrooms (on username of the owner and on roomname)<br>- View own guestrooms<br>- Room-O-Matic 100% (create, modify and delete rooms, reset rights of rooms)<br>- Redeem voucher codes for credits</p>
<p>- Initialize favourite rooms (publicrooms AND guestrooms, rooms that got deleted are deleted from your list automatically)<br>- Add favourite publicroom/guestroom to list (you'll get the 'error message' from external_texts if you exceed the limit configured in system_config)<br>- Remove favourite guestroom/publicroom from list</p>
<p><strong>Staff features:</strong><br>MOD-Tool:<br>- No access to MOD-Tool if no rights for it, each function requires it's own fuseright to be available to your rank. eg, fuse_kick, fuse_alert etc<br>- 'Extra info'-field serves as a staffnote in system_stafflog, so if you alert user 'Steve' with the message 'Stop it biatch' because Steve was scamming or something, you type in the extra info field 'He was scamming.', so the Staff can later see in the housekeeping why you sent that alert to Steve. Applies to all functions of MOD-Tool, any action is logged with user ID who used it, timestamp, target user/room ID, message and staff note (optional, you can leave it blank)<br>- Alert user<br>- Kick user (no alerting of users with same/higher rank than yours)<br>- Ban user (no banning of users with same/higher rank than yours, you can also give IP bans if your rank allows the fuseright 'fuse_superban', send ban message + kick + disconnect all users that regard the ban, so disconnect all users on a certain IP with an IP ban etc) Bans expire after the banned hours have elapsed.<br>- Room alert<br>- Room kick (kicks all users below your rank from the room you are currently in and shows a moderator warning with the message you entered)</p>
<p><strong>Rooms:</strong><br>- Enter publicrooms and guestrooms<br>- Guestrooms can have pass***** and doorbells before gainig access<br>- 'Room is full!' checks<br>- Roomban check<br>- Load roomvotes, inside users and items</p>
<p>- Walking (AStar pathfinding)<br>- Sitting on seats<br>- Waving (configureable duration in system_config)<br>- Dancing (also club dances, requires you to have access to fuse_use_club_dances, so staff & subscribers only, no scripting)<br>- Item carrying and sipping (configureable sip amount, sip duration etc in system_config)<br>- Rotate yourself to other users/objects (AO)<br>- Vote on room +1/-1 and update count in room<br>- Leave room/walk to door and leave room</p>
<p>- Give/take roomrights to users in your guestroom (you have to be owner/staff)<br>- Kick users in your guestroom (you need to have rights in that room, are owner or staff, can't kick staffs from room. Kicked user walks to door and then leaves)<br>- 'Kick 'n ban' (kick user from your guestroom and deny him/her access to your guestroom for a certain amount of time. Length of roombans configureable in system_config. You need to be room owner/staff. Can't roomban staffs etc)</p>
<p>- Room model system, all rooms define to their 'parent model', like all guestroom model B's refer to 'model_b' and all Lido part 1's refer to 'pool_a'. That way you can easily create multiple instances of publicrooms without modifying the server at all, all possible in database<br>- Define 'square triggers', like swimming pool entrances, clothing booth entrances, queue tiles and 'move to second part of room' in room<br>- Swimming is pre-added to the 'pool_a', 'pool_b' and 'md_a' (Rooftop Rumble), same for the swimming clothe booths. However, you can add and remove those triggers by yourself, it's one big system<br>- 'Room special cast system', like disco tiles in publicrooms who flash and change color. Define the 'emitter' (like 'lamp'), the interval in milliseconds (like 2500 = 2,5 second) and the random min value and the random max value. That way you can configure the disco lights in public spaces with dancefloors etc. The 'user camera' (seen in Lido and in Rooftop Rumble) works exactly that way. It's pre-added to the database by me for those rooms btw</p>
<p><strong>Roombots:</strong><br>- Define bots in 'roombots' table, together with their ID, name, motto, figure, ID of the room where it is placed in and start X,Y coords<br>- Have as much bots in publicrooms/guestrooms as you want, no limit per room, have multiple bots in one publicroom/guestroom etc<br>- Define walkcoords for bots in 'roombots_coords' table. One row per coord (bot ID, X, Y). Bot will load them all in at preparing of room class object, then, it'll select a random coord at random moments and will walk to it<br>- Define texts that bot can say/shout in 'roombots_texts'. One row per message, put it on shout/say (enum) and fill in the message. On random moments the bot will use a random saying/shout from the list<br>- Define triggers where the bots responds on in 'roombots_texts_triggers'. One row per trigger, fill in the bot's ID, and the ***** where the trigger is invoked by (separated by }, like <em>'hey<strong>}</strong>hi<strong>}</strong>hai<strong>}</strong>hello'</em>)<br>Define the reply message (you can configure multiple replies by separating them like <em>'Haha that's me<strong>}</strong>Yup it's me<strong>}</strong>What do you want? <img src="https://retrotown.ws/wcf/images/smilies/emojione/263a.png" class="smiley" alt=":)" height="23" srcset="https://retrotown.ws/wcf/images/smilies/emojione/263a@2x.png 2x"> <strong>}</strong>Hey you!'</em>, the bot will use a random one from then when the reply is required)<br>You can also add an item like a drink or a burger or something to the reply (also custom items, like 'Holo Shake' or w/e you define). If you define a drink/food item, then you also need to define the 'handover message', this message is used by the bot if the item is handed over to the customer<br>- Bots reply on the trigger ***** and use a random reply from the replies set for that trigger<br>- You can add a drink + handover message to a trigger, this will make the bot get the drink (like a cola or something) for you, start carrying it to you (like other side of the bar) and hand it over and use the hand over message (like 'Here you are! :)'). You can see it bringing your order to you<br>- Bots can only serve one customer at the same time<br>- You can define a 'don't shout message' for a bot, if you shout in a range of 5 squares to a bot, it has a 1/10 chance that it replies with the 'don't shout message'<br>- Freeroam mode (bot walks anywhere where it can go in the room)</p>
<p><strong>Chatting:</strong><br>- Wordfilter (system_wordfilter) will filter chat messages by a censor configured in system_config<br>- Chatlogs are saved in system_chatlog, together with userid, roomid, timestamp and non-swearword filtered message<br>- Say a message, only people in a range of 5 squares around you will turn their head to you and hear your message<br>- Shout a message, all people in room will turn their head to you and hear your message<br>- Whisper a message, only the user you clicked will receive the message</p>
<p>- Speech command system, you can easily add speech commands to your server, but the 'default ones' are already programmed by me<br>- Toggle 'IRC command style' on/off, if it's enabled, then speech commands will start with / instead of :, so like /kick, /alert etc<br>- Speech commands require to be whispered, saying and shouting commands won't work. You have to click the 'black' first (so you have no user selected) and then you whisper the command. This way, the server doesn't have to check for speech commands for saying and shouting, which saves some speed<br>- Speech commands require the correct fuseright for the user's rank, or it won't function<br>- Staff related commands are logged, so every :kick or :alert or :ban or whatever your staff performes, everything is logged in the system_stafflog table, together with the staff member's user ID, timestamp, target user ID/roomID and message used<br>- If any error occurs during execute of command, or the parameters are incorrect, then you are alerted with the message defined in system_strings. If the action has succeeded, then you are notified in that way</p>
<p><em>Default speechcommands:</em><br>- :about (shows information about the server and current user online count, active room count, server time etc) Available to all users<br>- :poof (makes you use the 'poof animation' in room) Available to all users<br>- :rape USER (Sends a user a 'At _TIME_ you have been raped by _YOUR NAME_!', you can't rape users with a higher rank than you or offline users)<br>- :care (sends you a "/care" alert, was just to explain the speech command system)</p>
<p>- :alert USER MESSAGE (Sends a 'moderator warning message' to a single user, requires fuse_alert, you can't alert offline users)<br>- :roomalert MESSAGE (requires fuse_room_alert, sends a 'moderator warning' to all user's in your current room)<br>- :kick USER [MESSAGE] (requires fuse_kick, kicks a user from room and shows a 'moderator warning' with your message. You can't kick users that aren't in a room, have same/higher rank than you or are offline)<br>- :roomkick MESSAGE (requires fuse_room_kick, kicks all users from the current room. Only kicks users that are below your rank, and it alerts them with the message in a 'moderator warning')<br>- :shutup USER MESSAGE (requires fuse_mute, mutes a user from chat, sending them a message (moderator warning) with the message. The mute will last till the user re-logs in, or is unmuted by a staff member. You can't mute users that are offline/have higher or same rank than you)<br>- :unmute USER (requires fuse_mute, unmutes a muted users. They are notified that they can chat again. Can't unmute users that aren't muted/offline or have higher rank than you)<br>- :roomshutup MESSAGE (requires fuse_room_mute, mutes all the users in the room you are currently in. Only mutes users that haven't been muted yet, and have a lower rank than you. They receive a message with the reason you specified)<br>- :roomunmute (requires fuse_room_mute, unmutes all the muted users in the room that you are currently in. They are notified that they can chat again)<br>- :ban USER HOURS MESSAGE (requires fuse_ban, bans a single user from HoloCMS & Hotel. The ban is lifted after the hours have passed. You can only ban users with a lower rank than you. If the user is online, then it receives the ban message and is disconnected. If the user was banned already, then the previous ban will be removed and the new one will be applied. You receive a 'ban report', with all the information about the ban)<br>- :superban USER HOURS MESSAGE (requires fuse_superban, bans an IP address from the system, plus it bans all the accounts that used the IP address for their last access. The ban is lifted after the hours have passed. You can only ban users with a lower rank than you. All affected users will receive the ban message and will be disconnected. You receive a ban report, with all the information about the ban, such as affected accounts etc)<br>- :ha MESSAGE (requires fuse_hotelalert. Sends a message to ALL active users on the server, together with the 'Message from Hotel Management'-message configured in system_strings)<br>- :ra MESSAGE (requires fuse_alert. Rank alert. Sends a message to all active users with the same rank as you, so a message to all active moderators/administrators etc)<br>- :teleport (requires fuse_teleport. Allows the user to warp around the room by clicking a square & moving to it. After each warp the user uses the poof animation. If teleport is disabled, then :teleport will enable it. If it's enabled already, then :teleport will disable it. No :teleport on/off syntax)<br>- :warp X Y (requires fuse_teleport. Warps the user to X,Y on the map, using the poof animation)<br>- :userinfo USERNAME (requires fuse_moderator_access. Gives a detailed (!) messagebox with information about the user, including ID/name/mission/credit & ticket amount/IP address/email address/sign up date/birthday. If the user is online, then the location will be added to the message. Like 'Room 'Swimming Pool', id = 35, owner = none' or 'Room 'Rare Casino', id = 49424, owner = 'JimiHendrix'. If the user is offline, then the last access date will be added. You can't view information about users that don't exist or have a higher rank than you)</p>
<p><strong>Badges:</strong><br>- Initialize badges at login<br>- Change badge and update in room, scripter safe</p>
<p><strong>Groups:</strong><br>- virtualRoom class keeps the id's of the active groups in that room in a HashSet<br>- Get group badges index "Du" at enter room, so the inside user's group badges appear<br>- At enter room, if the user is member of a group and if the hashset doesn't contain the group ID yet then the user's group ID is added, and the "Du" packet is sent to room, so the user's group badge is visible in room<br>- At leave room, if the user is the only one who has that group, the group ID is removed from the HashSet<br>- Group ranks (member, administrator and owner)<br>- View group description and name at click of badge<br>- Group's hideout, when the Group has a 'group room' specified then it will be shown at the 'click on badge' event, together with the roomname. When you click on the group room name you will go to it</p>
<p><strong>Catalogue:</strong><br>- Define your own pages and items in catalogue_pages and catalogue_items, unique system (catalogue_pages contains the information about the pages, fully configureable header, text etc for pages. catalogue_items contains the item templates, each item template also has a name, description and cost, set the 'page id' field of an item to the ID of the page you want to appear it on, and it'll be there & ready for purchase. No creating of 'catalogue files' anymore, it's all done for you, just specify what you want & Holo will do it for you)<br>- Define your own deals (which is a 'pack' of some items, like 3 seats, 1 tv's, 1 flower and 1 minibar, for 7 Credits)<br>- Each catalogue page has minimum access rank<br>- Catalogue pages and item templates are cached in the RAM memory for extremely fast access to it, no duplicate rows in furniture table anymore, only template ID is enough, the other values like colour and spritename are got from the template)<br>- Initialize page index (only pages that are visible/useable for your rank)<br>- Open catalogue page (no access to pages above your rank)<br>- No buying off pages that are above your rank<br>- Buy item from page (alert if you don't have enough credits)<br>- Buy wallpaper & floors<br>- Buy deals (define your own deals completely to your wishes)<br>- Buy teleporters (you receive a pair then)<br>- Buy all types of items listed above as a present with a note, you can also buy deals for other users etc)</p>
<p><strong>Recycler/Ecotron:</strong><br>- Define as much 'rewards' and their 'bring in'-cost in system_recycler table of database (you can reward people with thrones and rares etc when they bring in a specified amount of items. Fully configureable)<br>- Define the time that it takes to 'recycle' an item<br>- Recycleable/non recycleable items (define the field 'recycleable' in catalogue_items per item)<br>- Enter items in recycler & start recycler<br>- View minutes left until completed<br>- 'Recycler is now recycling'-icon in left corner of client, blinks when complete<br>- Receive reward from Recycler when session completed<br>- Summary; working 100% and scripter safe</p>
<p><strong>Trading:</strong><br>- No exploits, none<br>- Start trade, set 'trd' status etc<br>- Offer items<br>- Accept/cancel trade<br>- Swap items/abort trade<br>- Tradeable and non-tradeable items (define the field 'tradeable' in catalogue_items per item)</p>
<p><strong>Furniture features:</strong><br>- Hand (scroll through your item inventory at extreme speed, no lagging down with ;3;54;23;52;1; anymore)<br>- Show pad size of pad of stickies in Hand<br>- You have to be owner/staff/have rights to perform certain item actions, same as on official servers. No exploiting</p>
<p>- Placedown wallitem (no scripting)<br>- Pickup wallitem<br>- Toggle status of wallitems (lamps etc, some items can't be 'toggled', like stickies, posters and roomdimmers)</p>
<p>- Stack with singlesquare flooritems<br>- Stack with multisquare flooritems<br>- Stack with seats (you can still sit on them when stacked)<br>- Stack with rugs (you can walk on rugs in the air and put new items on it)<br>- Stack stackable items on each other up to the 'max items on each other'-limit specified in system_config</p>
<p>- Placedown flooritem (stacking)<br>- Rotate/move flooritem (stacking)<br>- Pickup flooritem<br>- Toggle status of flooritem (lamps etc, some items can't be toggled, like presents, trophies etc)</p>
<p>- Use vending machines such as Cola machine to get a drink<br>- Open presents (and get content of it and remove it from room)<br>- Redeem 'Habbo Bank' items<br>- Use teleporters (can't jump to teleporters clientside (scripting), coords are being checked. Teleporters 100% like on official server)</p>
<p>- Placedown stickies (reduce pad size and delete pad when empty. Create row in furniture_stickies)<br>- Edit stickie colours (no scripting, only pink-blue-green-yellow colours)<br>- Edit stickie message (no scripting, injections and swear*****)<br>- Delete stickie (no scripting, only room owner and staff can delete stickies. Can't pickup & re-use stickies with 'AC' scripting)</p>
<p>- Close holodice & HC dice (you have to be one square removed from dice)<br>- Spin holodice & HC dice (no dice rigging and you have to be one square removed from item)</p>
<p>- Spin Wheel of Fortune<br>- Activate 'Love shuffler sofa'</p>
<p><strong>Trax:</strong><br>- Trax V15+ client<br>- Only one soundmachine per room<br>- Song Editor (load Hand samplesets/soundmachine samplesets/music, add/remove soundets to mixer panel)<br>- Load song list<br>- Load playlist<br>- Create song<br>- Save song<br>- Edit song<br>- Delete song<br>- Show song lengths<br>- Put songs in playlist/remove song from playlist/save playlist<br>- Burn song to disc<br>- Show burned yes/no 'disc icon', indicating if the song is atleast burned once<br>- On enter room/soundmachine placedown, client requests playlist for machine, and machine playlist is returned<br>- Response on 'request song data' to play music<br>- Song titles are filtered by swear word filter<br>- No exploits and/or scripting in numbers<br>- Conclusion: 100% (except Jukebox, will be done when I can be assed)<br>_____<br><strong>Key features:</strong><br>- ALL code commented with XML comments, understand what code does and add your own code<br>- MySQL database for highspeed access to data, allows growing of database for months, years, without increasing lag at all<br>- Asynchronous socket server for high speed socket connections with clients<br>- Timeout clients who haven't sent packet every minute<br>- Multithreading for alot of tasks, multiple actions can be done at 'same time'<br>- Higly scaleable, it's just depending on your hardware & connection to teh interwebs now. Should support up to 650-700 clients at same time on good server hardware<br>- Links up with HoloCMS, updates from CMS in client, poof when changing clothes/mission, kaching at updating credits etc. Alert/kick/ban users from Housekeeping etc<br>- User and roomclasses and managers for everything, fully OOP coded application<br>- Catalogue page cache, pages are being generated based on content in catalogue_pages and items that are assigned to that page in catalogue_items<br>- Item template cache, items refer to the template using the 'template ID' (tid), the colour, spritename etc aren't saved in furniture table anymore, but catalogue_items values is cached in the catalogueManager (RAM memory) at start of server, and colour, sprite etc are grabbed from there<br>- Completely scripter save, no exploits and 'misleading' the packet processor into erroring the application etc. Checks EVERYWHERE<br>- Wordfilter to filter swear***** and replace by a censor, fully configureable in system_wordfilter, add ***** there. Define the censor (like: bobba) in system_config. Can be disabled<br>- Define your own navigator categories with minimum access ranks, categories inside categories etc<br>- Add and remove new publicrooms without touching the server at all, done in 'rooms' table and 'rooms_modeldata'. Add access level, name, sprite list, heightmap, furnituremap, max visitors amount and door position (get it all by packetlogging) and the room will be fully useable (except games such as BattleBall/SnowStorm, diving etc, that is added via the special trigger system<br>- Define your own deals in the catalogue<br>- Recycler/Ecotron fully functional, define as much as rewards and bring-in-costs in system_recycler, so you can reward people with thrones and superrares or customs when they bringing xx amount of items. Recycleable and non-recycleable items. Define 'time it takes to recycle item' in system_config<br>- AStar pathfinding at walking<br>- To say it to satisfy some users, 'no lag 100%' lol. Yup, it doesn't lag at all. It's blazing fast</p>
<p><strong>Show off:</strong><br>Yup, BattleBall is near to completion. The first server with BattleBall. Define as much gamelobbies as you want, together with min and max score, score ranks etc. Mark, Myrax, Hebbo, Aaron, all of you failed to create it & NGangsta and me did. Applaud please. <img src="http://forum.ragezone.com/images/smilies/tongue_smilie.gif" alt="tongue_smilie.gif"><br>____<br>That's Holograph Emulator, notice that the list might be missing things (I forget them while I added them haha)</p>
<p><strong>About Holograph & open-source;</strong><br>[code]On all spots regarding this project, you'll see that it's<br>an open-source project. The source is downloadable for<br>everyone who likes to, and you are able to modify it.<br>BUT, there's something that is different compared to<br>'normal' open-source.<br>You ARE NOT allowed to distribute this application under any<br>different name, or use it's source for any other application<br>than the Holograph Emulator project.<br>This also includes any form of SELLING etcetera.</p>
<p>We know what the normal 'rules' for open-source are, but this<br>project has different ones, with open-source at Holograph<br>Emulator, we mean:<br>Everyone is able to help with THIS project, and using any<br>of it's files for other purposes than this project is<br>strictly forbidden.<br>However, you are allowed to modify the source files for own<br>use (so: for your Hotel) if you keep the name<br>'Holograph Emulator', you do not sell this application<br>and/or it's source files, you do not claim it as own etc.</p>
<p>When you open or use the source files in any way, you auto-<br>matically agree to these terms.<br></p></woltlab-spoiler><p><br><img src="https://picr.ws/d/f482.png" alt="f482.png"></p>
-
Version V26
-
MODBruno -
23. Oktober 2016 um 08:18 -
1,27 MB -
40 Downloads
-